Если я 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;
});
Редактировать: На основе комментариев (я не рекомендую это делать, потому что тогда вы не сможете воспользоваться преимуществами красноречивой модели. Она просто вернет вам массив)
$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);;
});