PHP多维数组子级添加键值对失败,求解决提示
问题分析与解决方法
你的代码无法运行的核心问题是foreach遍历目标错误,同时引用变量的语法不符合PHP规范,以下是修正方案:
错误原因
- 你要操作的是
$OUTPUT['report']['Have']下的子数组,但原代码遍历的是顶层的$OUTPUT数组(包含count和report两个元素),遍历对象完全不对。 foreach ($OUTPUT AS &$have['report']['Have'])的语法错误,foreach的第二个参数必须是单个变量,用来接收当前遍历的元素,不能是数组的嵌套键路径。
修正后的代码
// 遍历目标改为$OUTPUT['report']['Have'],用引用&$item绑定每个子数组 foreach ($OUTPUT['report']['Have'] as &$item) { // 给每个子数组添加name字段 $item['name'] = "something"; } // 解除引用,避免后续代码意外修改$item变量 unset($item);
验证效果
执行上述代码后,你可以通过var_dump($OUTPUT['report']['Have'])查看结果,每个子数组都会新增'name' => 'something'的键值对。
内容的提问来源于stack exchange,提问作者Robert Kuhlig
相关产品推荐
相关产品推荐

