PHP对象数组和一般数组有什么区别-成都快上网建站

PHP对象数组和一般数组有什么区别

PHP对象数组和一般数组有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联公司主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务青州,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

  PHP中的foreach作为经常用到的函数,常常用来遍历数组,对于数组中的元素是值的情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量,也就是对值本身的拷贝,对其值进行改变并不会影响到数组本身。

如: 

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

foreach($aa as $el){
    $el =+ 100;
}
 
foreach($arr as $el){
    echo $el;
    echo "
"; } // 结果: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 "
"; } // 结果:qqyumidi qqyumidi

关于PHP对象数组和一般数组有什么区别问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


当前题目:PHP对象数组和一般数组有什么区别
新闻来源:http://kswjz.com/article/piecec.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流