Hello,
for ($i=0; $i < count($arr); $i++) {
echo $arr[$i];
}
Es mag nicht ganz falsch sein, aber es sit auch nicht ganz richtig, da PHP-"Arrays" keine geschlossenen Speicherstrukturen mit Derefenrenzierungs-Index sind, sondern verkettete Strukturen (Bäume) mit einem _Such_-"Index".
Das bedeutet, dass bei jedem Zugriff die Kette von vorne durchlaufen werden muss um den Markierer (Namen / Index) auf dem Element mit dem Suchbegriff zu vergleichen. Wenn dieser in der kette nicht vorhanden ist, gibts einen Fehler. Um diesen Fehler zu vermeiden, muss man eigentlich vorher eine Abfrage durchführen:
for ($i=0; $i < count($arr); $i++)
{
if (isset($arr[$i]))
{
echo $arr[$i];
}
else
{
## Fehlerbehandlung
}
}
Um diese beiden Maquos auszugleichen, gibt es bei PHP seit Version 4.?? die Spezialfunktion
foreach($arr as $index => $element)
{
show($element); # zum Anzeigen reicht die Kopie
alter($arr($index)); # Zum Verändern muss man auf das Original zugreifen
}
Man kann diese Bearbeitung aber immer nur "vorne" beginnen, aber jederzeit abbrechen.
Man muss sich keine Gedanken über die Länge (count()) der Kette machen, da PHP die selber kennt.
Man muss sich keine Gedamken über nicht vorhandene Indexe machen, da die Kette nicht nach Index, sondern nach Verkettungsreferenzen abgearbeitet wird. Die kennt PHP ganz alleine.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau