Wie wird ein Array in einer PHP-foreach-Schleife gelesen?
Wir haben alle davon gehört, wie in einemfor
Schleife, wir sollten dies tun:
for ($i = 0, $count = count($array); $i < $c; ++$i)
{
// Do stuff while traversing array
}
an Stelle von
for ($i = 0; $i < count($array); ++$i)
{
// Do stuff while traversing array
}
aus Gründen der Leistung (d. h. Initialisieren von$count
hätte @ angerufcount()
nur einmal, anstatt @ aufzurufcount()
bei jeder bedingten Prüfung).
Macht es dann auch einen Unterschied, ob in einemforeach
Schleife mache ich das:
$array = do_something_that_returns_an_array();
foreach ($array as $key => $val)
{
// Do stuff while traversing array
}
an Stelle von
foreach (do_something_that_returns_an_array() as $key => $val)
{
// Do stuff while traversing array
}
Angenommene Umstände erlauben es mir, entweder zu verwenden? Das heißt, PHP ruft die Funktion in beiden Fällen nur einmal auf oder ist es wiefor
Wo würde der zweite Fall die Funktion immer wieder aufrufen?