首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel array_push

Laravel array_push
EN

Stack Overflow用户
提问于 2018-10-23 04:00:48
回答 1查看 392关注 0票数 1

这是我的数据:

代码语言:javascript
复制
$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'
            ]
        ]
    ]
];

我需要这个输出:

代码语言:javascript
复制
$output = [
    'product_name' => "Keyboard",
    'serial' =>["XXXXXXAA1", "XXXXXXAA2"]
];

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-23 05:08:13

我想pd_item_infoipo_item_pml_info总是在那里

首先,根据产品名称对数组键进行分解,并将所有的串行密钥追加到相同的产品名称下。

代码语言:javascript
复制
foreach($dataItems as $item) {
    $products[$item['pd_item_info']['ipo_item_pml_info']['product_name']][] = $item['serial'];
}

//output
// [
//     'Keyboard' => ['XXXXXXAA1', 'XXXXXXAA2'];
// ]

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

代码语言:javascript
复制
foreach($products as $key => $product) {
    $output[] = [
        'product_name' => $key,
        'serial' => $product
    ];
}

就这样..。=D

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52940976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档