PHP對(duì)象數(shù)組和一般數(shù)組有什么區(qū)別?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
PHP中的foreach作為經(jīng)常用到的函數(shù),常常用來遍歷數(shù)組,對(duì)于數(shù)組中的元素是值的情形(如一般常見型的數(shù)組),foreach只是將數(shù)組中的每份元素的值拷貝到each后面的變量,也就是對(duì)值本身的拷貝,對(duì)其值進(jìn)行改變并不會(huì)影響到數(shù)組本身。
如:
$arr = array(1, 2, 3); foreach($aa as $el){ $el =+ 100; } foreach($arr as $el){ echo $el; echo "
"; } // 結(jié)果:1 2 3
但是如果是對(duì)象數(shù)組的情形,也就是數(shù)組元素均為對(duì)象時(shí),此時(shí)each后面的變量是對(duì)對(duì)象引用的拷貝,對(duì)其進(jìn)行的改變會(huì)直接影響到原數(shù)組本身。這點(diǎn)與上面情形很容易弄混。
如:
$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 "
"; } // 結(jié)果:qqyumidi qqyumidi
關(guān)于PHP對(duì)象數(shù)組和一般數(shù)組有什么區(qū)別問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。