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

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

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

慕桂英4014372 2019-04-16 17:05:21
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贡献1921条经验 获得超9个赞

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

TA贡献1817条经验 获得超14个赞

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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信