首頁 >後端開發 >PHP問題 >PHP物件數組和一般數組區別

PHP物件數組和一般數組區別

(*-*)浩
(*-*)浩原創
2019-10-16 13:43:422847瀏覽

PHP中的foreach作為常用到的函數,常常用來遍歷數組,對於數組中的元素是值的情形(如一般常見型的數組),foreach只是將數組中的每份元素的值拷貝到each後面的變量,也就是對值本身的拷貝,對其值進行改變並不會影響到數組本身。

PHP物件數組和一般數組區別

如:  (建議學習:PHP影片教學

$arr = array(1, 2, 3);

foreach($aa as $el){
    $el =+ 100;
}
 
foreach($arr as $el){
    echo $el;
    echo "<br/>";
 }    // 结果:1 2 3

但是如果是物件數組的情形,也就是數組元素均為物件時,此時each後面的變數是對物件引用的拷貝,對其進行的改變會直接影響到原始數組本身。 這點與上面情形很容易弄混。

如:

$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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn