我尝试了以下内容,但它不起作用。
$index = 2;
$collection->put($index, $item4);
例如,如果$collection如下所示:
$collection = [$item1, $item2, $item3];
我想以:
$collection = [$item1, $item2, $item4, $item3];
最简单的方法可能是将其拼接,如下所示:
$collection->splice(2, 0, [$item4]);
集合通常支持与常规 PHP 数组相同的功能。在本例中,它是在后台使用的 array_splice() 函数。
通过将第二个参数设置为 0,您实质上告诉 PHP "转到数组中的索引 2,然后删除 0 个元素,然后插入我刚刚为您提供的这个元素"。
稍微阐述一下乔尔的回答:
-
splice
修改原始集合并返回提取的元素 - 新项目被类型转换为数组,如果这不是我们想要的,我们应该将其包装在数组中
然后在索引$index
添加$item
:
$collection->splice($index, 0, [$item]);
或一般:
$elements = $collection->splice($index, $number, [$item1, $item2, ...]);
其中$number
是我们想要从原始集合中提取(和删除)的元素数量。