[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
PHP foreach letztes Element anders ausgeben - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

PHP foreach letztes Element anders ausgeben

25. Jun 2013, 16:45

Hi,

Habe eine kleines Problem. Meine Medialist wird ausgelesen und mittels explode aufgelistet, soweit so gut. Jetzt muss dass letzte Element aber anders ausgegeben werden wie alle anderen.

Code: Alles auswählen

<?php

														if ("REX_MEDIALIST[1]" != ""){
														$arr = explode(",","REX_MEDIALIST[1]");

														foreach($arr as $value) {
														$ooPic = OOMedia::getMediaByFileName($value);
														$fileTitle = $ooPic->getTitle();
														echo "{image : 'index.php?rex_img_type=bkg_img_1600w&rex_img_file=$value', title : 'Image Credit: $fileTitle', thumb : 'index.php?rex_img_type=bkg_thumb_200wx150h&rex_img_file=$value', url : ''},";
		
														echo "\n";
														}
														}
														?>

Um genau zu sein soll das letzte Element der Ausgabe am Ende kein Komma besitzen. In allen Browsern funktioniert der Script ausser in Explorer 8; per Zufall hat der Kunde genau nur den...

Soweit ich gegoogelt habe könnte ich es mit end($arr) oder $numItems = count($arr)aber ich stehe da auf dem Schlauch!

Vielen Dank für die Anregungen
Eric

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: PHP foreach letztes Element anders ausgeben

25. Jun 2013, 17:09

Hi,

aufgrund der besseren Lesbarkeit und Wartbarkeit würde ich mit json_encode arbeiten:

Code: Alles auswählen

if('REX_MEDIALIST[1]' != '')
{
  $json = array();
  foreach(explode(',','REX_MEDIALIST[1]') as $value)
  {
    $ooPic = OOMedia::getMediaByFileName($value);
    $json[] = array(
      'image' => 'index.php?rex_img_type=bkg_img_1600w&rex_img_file='.urlencode($value),
      'title' => 'Image Credit: '.$ooPic->getTitle(),
      'thumb' => 'index.php?rex_img_type=bkg_thumb_200wx150h&rex_img_file='.urlencode($value)
    );
  }
  
  echo json_encode($json);
} 
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: PHP foreach letztes Element anders ausgeben

25. Jun 2013, 20:02

Hi,

Danke für den Tipp. Stimmt auf jeden Fall!

Aber mein Problem ist damit dennoch nicht gelöst. Ich denke ich habe mich aber auch etwas unklar ausgedrückt. Momentan erhalte ich durch meinen Code diese Ausgabe:

Code: Alles auswählen

{image : 'index.php?rex_img_type=bkg_img_1600w&rex_img_file=landlords_bkg_1.jpg', title : 'Image Credit: ', thumb : 'index.php?rex_img_type=bkg_thumb_200wx150h&rex_img_file=landlords_bkg_1.jpg', url : ''},
{image : 'index.php?rex_img_type=bkg_img_1600w&rex_img_file=landlords_bkg_2.jpg', title : 'Image Credit: ', thumb : 'index.php?rex_img_type=bkg_thumb_200wx150h&rex_img_file=landlords_bkg_2.jpg', url : ''},
Brauche aber:

Code: Alles auswählen

{image : 'index.php?rex_img_type=bkg_img_1600w&rex_img_file=landlords_bkg_1.jpg', title : 'Image Credit: ', thumb : 'index.php?rex_img_type=bkg_thumb_200wx150h&rex_img_file=landlords_bkg_1.jpg', url : ''},
{image : 'index.php?rex_img_type=bkg_img_1600w&rex_img_file=landlords_bkg_2.jpg', title : 'Image Credit: ', thumb : 'index.php?rex_img_type=bkg_thumb_200wx150h&rex_img_file=landlords_bkg_2.jpg', url : ''}
nur das letze Komma muss weg. Explorer 8 macht damit Probleme und stoppt das entsprechende Script. Wie bekomme ich das bei so einem "explode" raus?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: PHP foreach letztes Element anders ausgeben

25. Jun 2013, 20:07

Hi!
Eruadan hat geschrieben:nur das letze Komma muss weg. Explorer 8 macht damit Probleme und stoppt das entsprechende Script. Wie bekomme ich das bei so einem "explode" raus?
Das hat nix mit explode zu tun.
Hast du meinen Code mal versucht?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: PHP foreach letztes Element anders ausgeben

26. Jun 2013, 09:06

Schande über mein Haupt...
Hatte ich nicht! Sorry!

Klappt aber perfekt! Vielen Dank!

Eric

Zurück zu „Allgemeines [R4]“