3 回答
TA贡献1111条经验 获得超0个赞
其他答案显示了如何使用参考变量解决此问题。如果要分配给数组,则需要使用以下内容对其进行索引$key:
foreach($izero['data'] as $key => $value) {
if($value['ref_num'] === null) {
$value['ref_num'] = $value['id'];
}
$izero['data'][$key] = $value;
}
TA贡献1815条经验 获得超13个赞
对代码进行了一些调整,如果您将 更改foreach为 use &$value,那么您可以就地更新该值,而不必在循环结束时重新分配该值。
您也有($value['ref_num'] === null),因为您检查它是否为空(在值和类型中)并且您的数组似乎有"". 所以你应该改变测试......
foreach($izero['data'] as $key => &$value) {
if(empty($value['ref_num'])) {
$value['ref_num'] = $value['id'];
}
}
TA贡献1856条经验 获得超17个赞
你$izero['data']每次都覆盖。只需引用&该值,然后您就可以更改它:
foreach($izero['data'] as &$value) {
if($value['ref_num'] === null) {
$value['ref_num'] = $value['id'];
}
}
或者按键修改:
foreach($izero['data'] as $key => $value) {
if($value['ref_num'] === null) {
$izero['data'][$key]['ref_num'] = $value['id'];
}
}
此外,你不显示数据的实际值和空字符串""是不===给null。您可能要empty来检查"",0,null和false:
if(empty($value['ref_num'])) {
- 3 回答
- 0 关注
- 329 浏览
添加回答
举报