【问题标题】:Laravel array_pushLaravel 数组推送
【发布时间】:2018-10-23 04:00:48
【问题描述】:

这是我的数据:

$dataItems = [
    [
        'id' => 1,
        'serial' => "XXXXXXAA1",
        'pd_item_info' =>
        [
            'id' => 1,
            'quantity' => 5,
            'ipo_item_pml_info' => 
            [
                'id' => 1,
                'product_name' => 'Keyboard'
            ]
        ]
    ], 
    [
        'id' => 2,
        'serial' => "XXXXXXAA2",
        'pd_item_info' =>
        [
            'id' => 2,
            'quantity' => 10,
            'ipo_item_pml_info' => 
            [
                'id' => 2,
                'product_name' => 'Keyboard'
            ]
        ]
    ]
];

我需要有这个输出:

$output = [
    'product_name' => "Keyboard",
    'serial' =>["XXXXXXAA1", "XXXXXXAA2"]
];

在 laravel 中使用 foreacharray_push,如何合并重复的 product_name 并加入其中?

【问题讨论】:

    标签: laravel foreach


    【解决方案1】:

    我假设 pd_item_infoipo_item_pml_info 总是在那里

    首先根据产品名称区分数组密钥,并将所有序列密钥附加在同一产品名称下

    foreach($dataItems as $item) {
        $products[$item['pd_item_info']['ipo_item_pml_info']['product_name']][] = $item['serial'];
    }
    
    //output
    // [
    //     'Keyboard' => ['XXXXXXAA1', 'XXXXXXAA2'];
    // ]
    

    接下来,根据需要进行格式化

    foreach($products as $key => $product) {
        $output[] = [
            'product_name' => $key,
            'serial' => $product
        ];
    }
    

    就是这样。=D

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 2018-09-23
      • 2021-08-06
      • 2016-05-25
      • 1970-01-01
      • 2019-08-09
      • 2022-11-30
      • 2017-09-17
      • 1970-01-01
      相关资源
      最近更新 更多