Laravel集合增量值和键

时间:2017-04-29 19:46:32

标签: php arrays laravel collections

您好,

我如何decrement来自集合的所有密钥并将其转换为数组?

所以让我说我有一个看起来像这样的集合:

Collection {#410 ▼
  #items: array:1 [▼
    1  => 1,
    2 => 6  
  ]
}

我需要像这样转换:

array:1 [▼
  0 => 1,
  1 => 6
]

我知道我能做到:

$collection->toArray();

但是我得到了这个:

array:1 [▼
  1 => 1
]

我已经看过docs但找不到了!

2 个答案:

答案 0 :(得分:2)

您可以通过循环现有集合并将密钥指定为与当前密钥-1相同来从集合中创建一个新数组。

$newCollection = collect([]);
$collection->each(function($item, $key) use ($newCollection) {
    $newCollection->put($key-1, $item);
});


//$newCollection has decremented keys

答案 1 :(得分:0)

从描述的所需输出看起来你可以使用本机PHP函数 array_values

  

返回数组中的所有值并以数字方式索引数组。

http://php.net/manual/en/function.array-values.php

array_values($collection->toArray())