2011年6月6日月曜日

PHP 参照の困った仕様(バグ?)

参照を使った場合のおかしな動作を見つけました。(5.1.6 & 5.3.5)
$a = array( 1, 2, 3 );
foreach ( $a as &$i ) echo $i;
echo ',';
foreach ( $a as $i ) echo $i;

上記を実行すると
123,122
となります。
う~ん、2番目の foreach の際に最初の foreach の &$i が効いていると $a[2] = $a[0] となり出力は 123,121 となる気がするのですが…

0 件のコメント:

コメントを投稿