如何在集合 laravel 中添加数字?

How to add number in collection laravel?

如果我dd($items),结果是这样的:

我想给每个数组添加数字

所以第一个数组,存在值为1的键数

第二个数组,存在值为2的键数

等等

我这样试:

$items->map(function ($item) {
    $item['number'] = 1;
    return $item;
});

数量没有增加。我很困惑做柜台

我该如何解决这个问题?

你可以这样试试

$newItems = $items->map(function ($item, $index) {
    $item['number'] =  $index + 1;
    return $item;
});

编辑: 根据评论(我不推荐它,因为那样你就无法从 eloquent 模型中获益。它只是 return 你数组 )

$newItems = $items->map(function ($item, $index) {
    $number = ['number' =>  $index + 1];
    return $number + $item->toArray();
});
 $counter=1;
 $items->map(function ($item) use(&$counter){
   $item['number'] = $counter++;
   return $item;
});

你可以使用 array_merge

$newItems = $items->map(function ($item, $index) {

  return array_merge(array("number" =>  $index + 1), $item);;
});