PHP 開発では、配列を繰り返してその要素の値を変更することがよくありますが、他の言語での経験がある場合は、ここで間違いを犯す可能性があります。
私はまだ Java に比較的慣れているので、Java を例に挙げます。Java では、配列を反復してその値を変更します。次のメソッドを使用します。
<span> </span>for(Object item : objectArray){ <span> </span>item.setAttribute('value'); <span> </span>}
foreach($arrays as $item){ $item->name = 'value'; } echo $arrays[0]->name;
いくつかのデバッグの後、最終的に、上記のコードが参照ではなく値を渡したかどうかを推測しました。そこで、公式 Web サイトにアクセスしてドキュメントを確認したところ、これが実際に当てはまることがわかったので、コードを次のように変更しました。
foreach($arrays as &$item){ $item->name = 'value'; } echo $arrays[0]->name;
foreach($arrays as $key=>$item){ $arrays[$key]->name = 'value'; } echo $arrays[0]->name;
参考資料:
PHP公式サイトのforeachの説明: http://php.net/manual/en/control-structurals.foreach.php
詳細については、WeChatの公開アカウント: Development and Lifeをフォローしてください
以上、内容も含めてphp foreachを紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。