繁体   English   中英

将项目添加到嵌套数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM