zu iterieren Ich studiere für die Zend PHP-Zertifizierung.Schnellste Möglichkeit, Array in PHP
Nicht sicher, die Antwort auf diese Frage.
Frage: Was ist der beste Weg, um jedes Element eines Arrays mit PHP 5 zu iterieren und zu modifizieren?
a) Sie nicht ein Array während der Iteration ändern
b)
for($i = 0; $i < count($array); $i++) { /* ... */ }
c)
foreach($array as $key => &$val) { /* ... */ }
d)
foreach($array as $key => $val) { /* ... */ }
e)
while(list($key, $val) = each($array)) { /* ... */ }
Mein Instinkt ist (B), da es keine Notwendigkeit gibt, temporäre Variable zu erstellen, dann merke ich, es wird nicht für assoziative Arrays arbeiten. Weitere Suche im Internet gefunden: Speichern der invarianten Array-Anzahl in einer separaten Variablen verbessert die Leistung.
$cnt = count($array);
for ($i = 0; $i < $cnt; $i++) { }
Der "using PHP' 5' "-Teil kann auch ein Hinweis sein. b), d), e) sind in php4 möglich, c) aber nicht.Zugegeben, das ist ein schwacher Beweis, aber die Prüfungsfrage funktioniert oft auf diese Weise ;-) Da Sie eine andere Tabellennachfrage brauchen, um auf das Element für b, d, e zuzugreifen, ist es offensichtlich, dass c) "der beste" Weg ist. Das Handbuch besagt auch, dass dies nicht mit 'foreach (array (1,2,3) as & $ v)' funktioniert, das traversable muss eine Variable sein. – VolkerK