我使用此代码在数组中创建数组。
array_push($lists, $list);
然后我尝试将项添加到嵌套数组中:
array_push($lists[$list], $item);
但是得到一个错误:
Warning: array_push() expects parameter 1 to be array, null given in V:\home\..
。
$list
是一个名称,$item
是一个对象。
如何解决问题?
答案 0 :(得分:2)
这是因为第一个参数为null。假设您使用默认索引,您可以执行以下操作:
$numItems = array_push($lists,$list);
array_push($lists[$numItems-1],$item)
答案 1 :(得分:1)
这会在$list
的末尾推送$lists
并为其提供一个整数键:
array_push($lists, $list);
这会尝试将字符串键访问到$lists
,但不存在:
$lists[$list]
所以返回值为null
。最后,就像你做的那样
array_push(null, $item);
对于解决方案,除了推送它之外,我们需要知道您是否在$lists
上做了什么。如果你不是,那么:
$pushed_id = array_push($lists, $list) - 1;
array_push($lists[$pushed_id], $item);