[英]Add items to nested arrays
我使用此代码在数组内部创建数组。
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
是一个对象。
如何解决问题?
这是因为第一个参数为null。 假设您正在使用默认索引,则可以执行以下操作:
$numItems = array_push($lists,$list);
array_push($lists[$numItems-1],$item)
这会将$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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.