关于PHP中foreach循环修改数组值失效的问题

发布网友 发布时间:2022-04-06 00:43

我来回答

3个回答

热心网友 时间:2022-04-06 02:13

试试这样

$tmp_data = $this->contracts;
foreach($tmp_data as $k => & $v){
$v["khdq"] = $this->getNameById($v["khdq"],"khdq");
}

$this->contracts = $tmp_data;
unset($tmp_data);

foreach($this->contracts as $k => &$v){
这样不成功是因为 foreach 此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。

就是说必须是变量才能在foreach 中传引用

热心网友 时间:2022-04-06 03:31

foreach($this->contracts as $k => &$v){}
你这里用了个&$v``一直指向这个地址·····去掉它··或者用楼上的方法··

热心网友 时间:2022-04-06 05:05

$v["khdq"] = $this->getNameById($v["khdq"],"khdq");
换成
$this->contracts[$k]["khdq"] = $this->getNameById($v["khdq"],"khdq");

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com