问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在PHP里,数组传递和对象传递有什么区别??

发布网友 发布时间:2022-04-18 12:25

我来回答

2个回答

懂视网 时间:2022-04-18 16:47

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

如: (推荐学习: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 = '张三';

$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

热心网友 时间:2022-04-18 13:55

看你传到那去,如果是在php内传递,基本上没有什么太大的区别,一样可以遍历出来。
唯一不同的是数组如果知道下标可以直接取值,对象必须用foreach来遍历。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 一部手机两个怎么弄 微信一个手机号注册了两个怎么切换账号啊? 花椒直播会员最多能办几张联通花椒卡呢? 手机浏览器小程序异常 联通花椒卡怎么办理 联通大小花椒卡办理开通流程 花椒直播会员能办理几张花椒卡啊,谁知道? 那个联通花椒卡怎么申请 大花椒卡和小花椒卡哪个更好 进入花椒直播主播房间,有画面有声音,但是卡屏了,希望花椒官方尽快解决这个问题 为什么在花椒直播里办不了花椒卡了,哪里能办? 电脑花椒直播为什么这么卡,还有win10不兼容吗?屏幕模式不能直播,窗口模式PPT播放不全 蝎子酒的泡制方法 花椒直播掉帧怎么办?是网速原因么? 点动控制开关控制功能 为什么花椒手机直播老显示网速不佳,然后卡掉或者闪退 看花椒直播的时候无线信号不稳定,忍无可忍,求信号稳定的路由器。 如何自制蝎子酒? 花椒直播卡成屎了 手机被父母藏起来关了机怎样才能找出来??被妈妈 小红椒清炖鸡掌怎么做好吃呢? 从PHP函数参数为数组和对象的区别说开去 一个手机两个怎么切换 微信怎么关联另一个消息同步 一个手机号码怎么注册两个? 如何把一个的联系人同步到另一个? 我的两个手机号码用一个,怎么改过来,弄两个? 两个手机可以上一个 然后同步信息吗。求指教 新开的可以开通视频号吗? 你好,我知道手机号,,可以跟他同步微信吗? 微信怎么申请第二个 怎样可以有两个, 股票一周的涨跌情况 一个手机号注册了两个,怎样解绑第二个? 大盘这周的走势 刚出土的芹菜苗该怎么处理? 在同一手机上怎么切换另一个 金帅冰箱怎么样,真实使用感受 怎样把两个关联在一起 金帅冰箱多少钱 金帅冰箱质量怎么样,金帅和海尔那个噪音低 如何将两个关联起来?