ふと現場で質問されて、検証用に書いてみたコード。
<?php
$awk = array(1,2,3,4,5);
$i = 0;
foreach($awk as $v) {
$i ++;
unset($awk[$i]);
var_dump($awk);
echo "{$v}\n";
}
var_dump($awk);
………うんまぁわかるんだけどさぁ。
これたぶん「foreachの時点で、いったん、配列のcopy」してるよねぇ?
事故は減りそうだけど、メモリは食いそうだなぁ…
「へんなことはしない」のが一番だとはいえ、興味深い挙動だったので、共有。