ChrisB: umgekehrt ausgeben

Beitrag lesen

Hi,

  1. $_Liste = ''; gibt es ausschließlich, damit man hinterher $_Liste
    nutzen kann? Bewirkt '' irgendwas?

Damit wir die Variable $Liste mit einem Leerstring initialisiert. An diesen Leerstring wird dann nachher in der Schleife das HTML für die einzelnen LI angehängen.
An eine zuvor nicht deklarierte Variable kannst du nichts anfügen - das würde PHP auch mit einer entsprechenden Warnung quitieren.
Der Leerstring ist zwar immer noch "nichts" - aber ein definiertes Nichts, und kein unbestimmtes.

  1. Ich verstehe auch nach x-fachem Lesen des Abschnitts in selfphp nicht,
    was $_Schluessel = (oder =>) $_Wert mir sagen sollen/wollen?

Meinst du in der foreach-Schleife?
Das erste Argument einer foreach-Schleife ist das, worüber du iterieren willst (meistens ein Array).
Jetzt brauchst du innerhalb der Schleife aber auch noch einen Bezeichner, über den du auf das aktuelle Element zugreifen kannst - den gibst du mit as an.

foreach($arrayVariable as $Wert) { ... }

  • "für jedes" Element in $arrayVariable mache das folgende { ... }
  • und stelle mir dabei den jeweils aktuellen Wert a(l)s $Wert zur Verfügung

Wenn du nicht nur mit jedem Wert was machen willst, sondern auch noch an dem Index, unter dem dieser Wert im Array hinterlegt ist, interessiert bist - dann nutzt du die erweiterte Syntax:

foreach($arrayVariable as $Schluessel => $Wert) { ... }

  1. Im Ergebnis habe ich aber vor allem in dem Array jeweils eine
    "Nummerierung" (das ist bestimmt mehr als das, aber was?),

Das ist einfach der nummerische, fortlaufende Index des Arrays.
Wenn du ein Array mit
$arrayVariable = array("abc", "def", "ghi");
anlegst - dann nummeriert PHP die Elemente automatisch, mit 0 beginnend.

Wenn du das mittel print_r() zur Kontrolle ausgeben lässt, dann bekommst du folgendes zu sehen:

Array
(
    [0] => abc
    [1] => def
    [2] => ghi
)

Die Ziffern von 0 bis 2 sind der nummerische Index, über den du gezielt auf einzelne Elemente des Arrays zugreifen kannst.
echo $arrayVariable[1]; // wird def ausgeben

Was macht diese "Nummerierung" ... und wie bekomme ich sie aus meiner
Ausgabe heraus?

Wenn du innerhalb deiner foreach-Schleife gar nicht am Index interessiert bist - dann kannst du die einfache Syntax nutzen, in der dir der Index gar nicht zur Verfügung gestellt wird.

In deinem Beispielcode hast du die erweiterte Syntax gewählt, die auch den Schlüsselwert (Index) liefert - und ausserdem gibst du den Wert dieses Schlüssels auch noch in dem HTML-Code, den du dynamisch erzeugst, mit aus.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.