@Nubbin

Laravel Collection изменить ключи?

Добрый ночи, ребята есть массив

Array
(
    [0] => Array
        (
            [name] => 412
        )

    [1] => Array
        (
            [name] => 3144
        )

    [2] => Array
        (
            [name] => 632
        )
)


Как сделать чтобы он не с 0 начинался а с 1.
1,2,3,4...
Именно с помощью collect()
  • Вопрос задан
  • 1683 просмотра
Решения вопроса 1
Если речь о массиве (распечатка которого приведена выше, что не есть коллекцией, несмотря на условия задачи), то:

$arr = [['name' => 412], ['name' => 3144], ['name' => 632]];
$new_arr = array_combine(range(1, count($arr)), array_values($arr));

var_dump($new_arr);
/*
array(3) {
  [1]=>
  array(1) {
    ["name"]=>
    int(412)
  }
  [2]=>
  array(1) {
    ["name"]=>
    int(3144)
  }
  [3]=>
  array(1) {
    ["name"]=>
    int(632)
  }
}
*/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Yan-s
Извращениями занимаетесь?

Ну вот так можно
$collection = collect([['name' => 412], ['name' => 3144], ['name' => 632]]);
$collection = $collection->prepend(0, '-1')->values()->except(0);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы