基礎の基礎という感じですが、初投稿も兼ねてforeachで回した配列の要素を更新する方法についてメモします。 例)数値型を持つ配列$arrayの各要素をforeachで取り出し、各要素に+1する 以下はNGケースです。 $array = [1, 2, 3]; foreach($array as $value){ $value += 1; } print_r($array); /* 実行結果 → 各要素に+1されない Array ( [0] => 1 [1] => 2 [2] => 3 ) */ 上記のコードでは配列を更新できません。foreachの仕様として、配列要素のコピーがforeach内の変数に格納されるため、更新ができないのです。 foreachの変数を利用して配列要素を更新するためには、参照渡しをする必要があります。 手順は以下2点です。 ・更新したいforeach変数の頭に&を
![PHP foreachで回した配列を更新する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e05f39577625d2ed0c8272ccae6412b8313aba3d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UEhQJTIwZm9yZWFjaCVFMyU4MSVBNyVFNSU5QiU5RSVFMyU4MSU5NyVFMyU4MSU5RiVFOSU4NSU4RCVFNSU4OCU5NyVFMyU4MiU5MiVFNiU5QiVCNCVFNiU5NiVCMCVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MzhmODg5NGM4ZWYzOTE2ZTBkOTc0NGUzMWFhYjQ3OTQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwY29iMDgyMiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MmFhOGRlYmRkM2UyZWQ0Yzk3ZmY5ZjU4MjQyNTNlNTc%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dc7e756182fdb95e011f9c559f9384399)