burghi'sphp-dummies.de
PHP für Einsteiger und Fortgeschrittenere - an laufenden Scripten erklärt
06.02.2012, 11:25 Uhr - Impressum
Jetzt kann man dahergehen und alle Einträge durch zu gehen, mit Hilfe einer for-Schleife, z.B.:
<?php
$DVD = array("Ocean's Eleven", "Herr der Ringe - Die zwei Türme", "Herr der Ringe - Die Gefährten",
"Das Leben des Brian", "Fluch der Karibik", "Ice Age", "Findet Nemo", "Fight Club", "Road Trip",
"American History X", "Roter Drache", "Stigmata");

for($x = 0; $x < count($DVD); $x++) {     /* die Schleife läuft solang, wie x kleiner ist als count($DVD); */
     echo "Eintrag mit Index $x: ";
     echo $DVD[$x];
     echo "<br />\n";
}
?>
Einfacher geht dies mit dem Befehl foreach()

Es macht nahezu das gleiche, was eben die for-Schleife tat - foreach läuft durch ein Array und weist jeweils einen Eintrag einer Variablen zu.
foreach($array as $variable)
in diesem Beispiel wird hier der Eintrag aus dem Array $DVD in die Variable $Film kopiert:
<?php
$DVD = array("Ocean's Eleven", "Herr der Ringe - Die zwei Türme", "Herr der Ringe - Die Gefährten",
"Das Leben des Brian", "Fluch der Karibik", "Ice Age", "Findet Nemo", "Fight Club", "Road Trip",
"American History X", "Roter Drache", "Stigmata");

foreach($DVD as $Film) {     /* in der Variable $Film wird immer ein Filmtitel kopiert */
     echo $Film;
     echo "<br />\n";
}
?>
Wieso schrieb ich eben "wird kopiert" ?

Ganz einfach: wenn man nun in der foreach-Schleife die Variable $Film ändert,
hat dies keine Auswirkung auf das Array $DVD
<?php
$DVD = array("Ocean's Eleven", "Herr der Ringe - Die zwei Türme", "Herr der Ringe - Die Gefährten",
"Das Leben des Brian", "Fluch der Karibik", "Ice Age", "Findet Nemo", "Fight Club", "Road Trip",
"American History X", "Roter Drache", "Stigmata");

foreach($DVD as $Film) {
     $Film = "";     /* $Film wird eine leere Zeichenfolge zugewiesen, $Film ist also nichts mehr */
}
     /* da dies aber keine Auswirkung auf das Array hat, bleibt das Array unberührt: */
print_r($DVD);
?>
foreach() hat also den Vorteil, dass man keine Bedingung für das Durchlaufen definieren muss.
foreach() hat also den Nachteil, dass man keine Bedingung für das Durchlaufen definieren kann.
foreach() hat also den Vorteil, dass man nicht aus Versehen das Array verändern kann.
foreach() hat also den Nachteil, dass man nicht beabsichtigt das Array verändern kann.

Man muss also immer gucken, was man grad braucht...

Unser erstes Array haben wir über die Funktion array() erstellt
$DVD = array(..........);
© 2004-2005 - Impressum