将信息添加到嵌套数组中的正确/实用方法是什么?
我在将数据推送到数组的特定索引时遇到问题。我为我的JSON文件设置了循环,我正在用PHP阅读。
$array[] = array();
foreach($json["data"] as $inx => $key) {
$field1 = $json["data"][$inx]["field1"];
$field2 = $json["data"][$inx]["field2"];
array_push($array[$field], $field2);
}
数据看起来应该类似:
18732($field1) {
123($field2),
1234($field2),
12345($field2),
0983($field2),
239823($field2),
238742($field2)
}
如何将重复的$field1
数据合并到名为"命名为"的数组中。如$field1
?
错误消息是:
警告:array_push()期望参数1为数组,null中给出null 第71行的D:\ Installed \ Xampp \ htdocs \ includes \ core.php
答案 0 :(得分:1)
您的代码看起来几乎正确,但您有:
$array[]= array();
,$field
vs $field1
$array[$field1]
在首次访问时未定义。更正后的代码:
$array = array();
foreach($json["data"] as $inx => $key) {
$field1 = $json["data"][$inx]["field1"];
$field2 = $json["data"][$inx]["field2"];
if (!isset($array[$field1]))
$array[$field1] = array();
array_push($array[$field1], $field2);
}