Laravel Collection键修改

时间:2016-11-12 23:11:43

标签: php arrays laravel

我使用filter类中的Collection方法从集合中删除一些对象。但在那次操作之后,有时会出现带钥匙的物体,例剩下1,4,5。我想在filter动作之后总是有0,1,2,3等的元素。

有没有优雅的方法可以在不将表重写到新表的情况下完成?

谢谢!

1 个答案:

答案 0 :(得分:20)

您可以使用Laravel Collection的values()方法按序列化顺序制作集合的键,如下所示:

// Just for demonstration
$collection = collect([
    10 => ['fruit' => 'Apple', 'price' => 200],
    11 => ['fruit' => 'Mango', 'price' => 500]
]);

$values = $collection->values();

$values->all();

/* Result would be:
    [
        0 => ['fruit' => 'Apple', 'price' => 200],
        1 => ['fruit' => 'Mango', 'price' => 500],
    ]
*/

希望这有帮助!