コードは次のとおりです:
<?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 />'; ?>
$arr=array('a'=>'abc','b'=>123,'c'=>true); というステートメントを使用して $ を初期化します。 arr を使用してインデックス配列の数値を取得すると、出力は次のようになります:
, , ,
abc, 123, 1,
a-abc, b-123, c-1,
a-abc, b-123, c-1 ,
a-abc, b- 123, c-1, ステートメント b $arr=range('a','d'); を使用して $arr を初期化し、連想配列を取得すると、出力は次のようになります:
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、for ループには限られた数値インデックスしかありません。for および foreach トラバーサルの後、次のトラバーサルでデータを使用できるようにするためにデータをリセットする必要はありません。一方、各メソッドはそうします。