代码之家  ›  专栏  ›  技术社区  ›  Success Man

如何在集合中添加数字?

  •  1
  • Success Man  · 技术社区  · 7 年前

    如果我 dd($items) ,结果如下:

    enter image description here

    我想给每个数组加上数字

    所以第一个数组存在值为1的密钥号

    第二个数组,存在带值2的密钥号

    我试着这样做:

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

    数字不会增加。我不知道该怎么做柜台

    我怎样才能解决这个问题?

    3 回复  |  直到 7 年前
        1
  •  4
  •   rkj    7 年前

    你可以这样试试

    $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();
    });
    
        2
  •  0
  •   Arnab Rahman    7 年前
     $counter=1;
     $items->map(function ($item) use(&$counter){
       $item['number'] = $counter++;
       return $item;
    });
    
        3
  •  0
  •   Znar    7 年前

    可以使用数组合并

    $newItems = $items->map(function ($item, $index) {
    
      return array_merge(array("number" =>  $index + 1), $item);;
    });
    
    推荐文章