Heim > Artikel > Backend-Entwicklung > Vergleich mehrerer eindimensionaler Array-Traversal-Methoden in PHP
Der Code lautet wie folgt:
<?php //a $arr=array('a'=>'abc','b'=>123,'c'=>true); //b //$arr=range('a','d'); //1 for($i=0;$i<sizeof($arr);$i++) echo $arr[$i].', '; echo '<br />'; //2 foreach($arr as $key) echo "$key, "; echo '<br />'; //3 foreach($arr as $key=>$val) echo "$key-$val, "; echo '<br />'; //4 reset($arr); while($item=each($arr)){ echo $item['key'].'-'.$item['value'].', '; } echo '<br />'; //5 reset($arr); while(list($key,$val)=each($arr)){ echo "$key-$val, "; } echo '<br />'; ?>
Verwenden Sie die Anweisung a $arr=array('a'=>'abc','b'=>123,'c '=> true); Initialisieren Sie $arr, um das numerische Indexarray zu erhalten. Die Ausgabe lautet wie folgt:
, , ,
abc, 123, 1,
a-abc, b-123, c -1,
a -abc, b-123, c-1,
a-abc, b-123, c-1, use-Anweisung b $arr=range('a','d'); Um $arr zu initialisieren, um das Assoziations-Array zu erhalten, lautet die Ausgabe wie folgt:
a, b, c, d,
a, b, c, d,
0-a, 1-b, 2 -c, 3-d,
0 -a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d, die for-Schleife hat nur begrenzte numerische Indizes; nach dem for- und foreach-Durchlauf ist die Operation „reset()“ für die Daten nicht erforderlich, und zwar für den nächsten Durchlauf, der für die Each-Methode erforderlich ist.