配列の要素数を意識しなくても配列の中身を順番に処理することができる foreach と同じような挙動を list 構文と each 関数を使用して実現します。
1 2 3 4 5 6 7 8 |
<?php $arr = array('hello', 'world', 'bye'); reset($arr); while(list($key, $value) = each($arr)){ print $key . ':' . $value . '<br />'; } |
4行目
配列のポインタをリセットします。
5行目
eachがfalseを返すまで実行します。 *1
6行目
配列のキーと値のペアを順番に出力します。
*1 本来list($key, $value)にfalseが代入されるとFatal errorとなってしまうのですが、この上記の書き方であると問題ないようです。理由をご存じの方がいらっしゃいましたらコメント等で教えて頂けると助かります。