Laravel array_push - PullRequest
       4

Laravel array_push

0 голосов
/ 23 октября 2018

Это мои данные:

$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"]
];

Используя foreach и array_push в laravel, как я могу объединить дубликатыproduct_name и присоединиться там к сериалу?

1 Ответ

0 голосов
/ 23 октября 2018

я предполагаю pd_item_info и ipo_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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...