當前位置:才華齋>計算機>php語言>

PHP一般陣列與物件陣列

php語言 閱讀(7.59K)

導語:PHP中的foreach作為經常用到的函式,常常用來遍歷陣列,那麼PHP一般陣列與物件陣列有什麼不同呢?讓我們瞭解一下吧!

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