PHP一般數組與對象數組
來源:文萃谷 6.78K
導語:PHP中的foreach作為經常用到的函數,常常用來遍歷數組,那麼PHP一般數組與對象數組有什麼不同呢?讓我們瞭解一下吧!
對於數組中的元素是值的情形(如一般常見型的數組),foreach只是將數組中的'每份元素的值拷貝到each後面的變量,
也就是對值本身的拷貝,對其值進行改變並不會影響到數組本身。
如:
$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 = '張三';
$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