ホームページ >バックエンド開発 >PHPの問題 >PHPオブジェクト配列と一般的な配列の違い

PHPオブジェクト配列と一般的な配列の違い

(*-*)浩
(*-*)浩オリジナル
2019-10-16 13:43:422848ブラウズ

PHP の

foreach は頻繁に使用される関数であり、配列を走査するためによく使用されます。配列内の要素が値である状況 (一般的な配列の型など) の場合、foreach は単に各要素をarray to それぞれの後に値が変数にコピーされますが、これは値自体のコピーです。値を変更しても配列自体には影響しません。

PHPオブジェクト配列と一般的な配列の違い

例: (推奨学習: 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 = &#39;张三&#39;;

$bb = new stdClass();
$bb->name =  &#39;李四&#39;;

$arr = array($aa, $bb);

foreach($arr as $element){
    $element->name = &#39;qqyumidi&#39;;
}

foreach($arr as $el){
    echo $el->name;
    echo "<br/>";
}      // 结果:qqyumidi   qqyumidi

以上がPHPオブジェクト配列と一般的な配列の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。