2017-02-02 PHPのforeachは、イテレーション対象の配列をコピーして動作している プログラミング PHPのforeachでイテレーションを回してる時に、イテレーション対象の配列の値を更新したかった時に調べてみました。 まだ、ちゃんとは理解できていないですが、PHPのforeachは、イテレーション対象の配列をコピーして動作しているようです。 そのため、foreach内で値を更新してもコピーされた配列を更新するだけであり、元の配列には影響がない(更新ができない)ようです。 解決策として、今回は別の方法でイテレーションを回すことで、値を更新できるようにしてみました。 今度から気をつけます。 参考 ja.stackoverflow.com