为了账号安全,请及时绑定邮箱和手机立即绑定

这样做php数组为什么没有被改变?

这样做php数组为什么没有被改变?

人到中年有点甜 2019-04-07 11:18:55
privatefunctionreset_config($conf,$set_conf=''){$set_conf=&$set_conf==''?$this->config:$set_conf;foreach($confas$key=>$value){if(isset($set_conf[$key])){if(is_string($value)){$set_conf[$key]=$value;}elseif(is_array($value)){$set_conf[$key]=$this->reset_config($value,$set_conf[$key]);}}}}$this->config是当前函数所在类的一个多维配置数组,希望通过传入一个数组$conf来覆盖可能需要改变的值,但是函数调用之后$this->config数组的值依然没有改变,不知是不是引用传值没用呢?
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

把foreach循环里的$value变量改为&$value试一下
另外该方法里的第一行:
$set_conf=&$set_conf==''?$this->config:$set_conf;
这里的=&没有看懂是什么意思!
                            
查看完整回答
反对 回复 2019-04-07
?
弑天下

TA贡献1818条经验 获得超8个赞

privatefunctionreset_config($conf,&$set_conf='')
这么做,会将$set_conf的引用传进来,修改也就会修改本身
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 313 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号