Array Merge или Combine Issue

1

У меня есть два массива Array1 и array2, и теперь я хочу, чтобы объединить или вы можете сказать, объединить этот массив в одно согласно product_option_id в каждом массив означает, что если product_option_id такого же задвиньте данные второго массива в один.

мой первый массив:

Array
(
    [0] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 21
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 1

                )


        )

    [1] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 22
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 2

                )

        )

    [2] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 23
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 3

                )

        )

    [3] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 24
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 4

                )

        )

    [4] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 25
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 5

                )

        )

)

и второй массив

Array
(
    [0] => Array
        (
            [DriverInventory] => Array
                (
                    [id] => 21
                    [driver_id] => 10
                    [dispensary_inventory_id] => 12
                    [product_id] => 7
                    [product_option_id] => 2

                )
            [Mydata] => Array
            (
                [price]= 2545
            )    

        )

    [1] => Array
        (
            [DriverInventory] => Array
                (
                    [id] => 22
                    [driver_id] => 10
                    [dispensary_inventory_id] => 13
                    [product_id] => 7
                    [product_option_id] => 3
                    [quantity] => 16

                )
             [Mydata] => Array
                (
                    [price]= 15987
                )    


        )

    [2] => Array
        (
            [DriverInventory] => Array
                (
                    [id] => 23
                    [driver_id] => 10
                    [dispensary_inventory_id] => 14
                    [product_id] => 7
                    [product_option_id] => 4
                    [quantity] => 20

                )

             [Mydata] => Array
                (
                    [price]= 96744
                )    



        )

    [3] => Array
        (
            [DriverInventory] => Array
                (
                    [id] => 24
                    [driver_id] => 10
                    [dispensary_inventory_id] => 15
                    [product_id] => 7
                    [product_option_id] => 5
                    [quantity] => 45

                )
            [Mydata] => Array
                (
                    [price]= 97455
                )    


        )

)

наконец, я хочу быть результатом как

Array
(
    [0] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 21
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 1

                )



        )

    [1] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 22
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 2

                )
            [Mydata] => Array
            (
                [price]= 2545
            )       

        )

    [2] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 23
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 3

                )
            [Mydata] => Array
                (
                    [price]= 15987
                )       

        )

    [3] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 24
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 4

                )
            [Mydata] => Array
                (
                    [price]= 96744
                )      

        )

    [4] => Array
        (
            [DispensaryInventory] => Array
                (
                    [id] => 25
                    [dispensary_id] => 18
                    [product_id] => 7
                    [product_option_id] => 5

                )
             [Mydata] => Array
                (
                    [price]= 97455
                )       

        )

)
  • 0
    Хорошо, если вы хотите увидеть. вижу это. если ты хочешь сделать это. затем приложите усилия к коду. Благодарю.
Теги:
arrays

1 ответ

1
Лучший ответ

Попробуй это.

foreach ($array1 as $key => $value) 
{
   foreach ($array2 as $key1 => $value1) 
    {
       if($value['DispensaryInventory']['product_option_id']==$value1['DriverInventory']['product_option_id'])
            {
                $price_data[$key]['Mydata'] = $value1['Mydata'];
            }
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню