首页  >  文章  >  后端开发  >  PHP对象数组和一般数组区别

PHP对象数组和一般数组区别

(*-*)浩
(*-*)浩原创
2019-10-16 13:43:422782浏览

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