PHP の
foreach は頻繁に使用される関数であり、配列を走査するためによく使用されます。配列内の要素が値である状況 (一般的な配列の型など) の場合、foreach は単に各要素をarray to それぞれの後に値が変数にコピーされますが、これは値自体のコピーです。値を変更しても配列自体には影響しません。
例: (推奨学習: PHP ビデオ チュートリアル)
$arr = array(1, 2, 3); foreach($aa as $el){ $el =+ 100; } foreach($arr as $el){ echo $el; echo "<br/>"; } // 结果:1 2 3
しかし、それがオブジェクト配列の場合、つまり配列要素がすべてオブジェクトの場合、それぞれの後の変数はオブジェクト参照のコピーであり、これを変更すると元の配列自体に直接影響します。 これは上記の状況と混同されやすいです。
例:
$aa = new stdClass(); $aa->name = '张三'; $bb = new stdClass(); $bb->name = '李四'; $arr = array($aa, $bb); foreach($arr as $element){ $element->name = 'qqyumidi'; } foreach($arr as $el){ echo $el->name; echo "<br/>"; } // 结果:qqyumidi qqyumidi
以上がPHPオブジェクト配列と一般的な配列の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。