Как добавить массив в сложный многомерный массив в точный подмассив, если существует или нет с неизвестной глубиной в php

Здесь моя проблема. У меня сложный многомерный массив с разной глубиной. Все на Stackru я пробовал, не удалось. Я пытался с array_push, array_merge, array_combined, foreach, для и т. Д. Код, который я имею, это BS.

Массив (его часть (имеет 15 тыс. Записей) вы можете найти здесь.

Моя цель - найти последний массив и добавить дополнительный массив.

Массив, который я ищу в этом многомерном массиве:

[Branch] => Array
           (
           [Branchno] => 000
           [Stockqty] => 1
           [Saleprice] => 119.95
           [Xprice] => 0
           [Qprice] => 54.85
           [NOS] => 0
           )

Когда я нашел этот массив, мне нужно добавить этот массив без значений:

[Order] => Array
           (
           [Deliverydate] =>
           [Orderqty] =>
           )

После этого массив должен выглядеть так:

[Branch] => Array
           (
           [Branchno] => 000
           [Stockqty] => 1
           [Saleprice] => 119.95
           [Xprice] => 0
           [Qprice] => 54.85
           [NOS] => 0
           [Order] => Array
                      (
                      [Deliverydate] =>
                      [Orderqty] =>
                      )
           )

Проблема в том, что в этом массиве у меня может быть такой подмассив:

[Branch] => Array
            (
                 [0] => Array
                        (
                        [Branchno] => 000
                        [Stockqty] => -4
                        [Saleprice] => 119.95
                        [Xprice] => 0
                        [Qprice] => 54.85
                        [NOS] => 0
                        )

                 [1] => Array
                        (
                        [Branchno] => 001
                        [Stockqty] => 4
                        [Saleprice] => 119.95
                        [Xprice] => 0
                        [Qprice] => 54.85
                        [NOS] => 0
                        )

             )

И мне нужно добавить тот же массив в эти массивы. Итак, массив должен выглядеть так:

[Branch] => Array
            (
                 [0] => Array
                        (
                        [Branchno] => 000
                        [Stockqty] => -4
                        [Saleprice] => 119.95
                        [Xprice] => 0
                        [Qprice] => 54.85
                        [NOS] => 0
                        [Order] => Array
                                   (
                                   [Deliverydate] =>
                                   [Orderqty] =>
                                   )
                        )

                 [1] => Array
                        (
                        [Branchno] => 001
                        [Stockqty] => 4
                        [Saleprice] => 119.95
                        [Xprice] => 0
                        [Qprice] => 54.85
                        [NOS] => 0
                        [Order] => Array
                                   (
                                   [Deliverydate] =>
                                   [Orderqty] =>
                                   )
                        )

             )

Дополнительной проблемой является то, что некоторые из этих массивов могут иметь массив, который я хочу добавить, с заполненными данными, и мне нужно пропустить его. Как это:

[Branch] => Array
           (
           [Branchno] => 000
           [Stockqty] => 1
           [Saleprice] => 119.95
           [Xprice] => 0
           [Qprice] => 54.85
           [NOS] => 0
           [Order] => Array
                      (
                      [Deliverydate] => 20060911
                      [Orderqty] => 8
                      )
           )

Или вот так:

[Branch] => Array
            (
                 [0] => Array
                        (
                        [Branchno] => 000
                        [Stockqty] => -4
                        [Saleprice] => 119.95
                        [Xprice] => 0
                        [Qprice] => 54.85
                        [NOS] => 0
                        )

                 [1] => Array
                        (
                        [Branchno] => 001
                        [Stockqty] => 4
                        [Saleprice] => 119.95
                        [Xprice] => 0
                        [Qprice] => 54.85
                        [NOS] => 0
                        [Order] => Array
                                   (
                                   [Deliverydate] => 20060911
                                   [Orderqty] => 8
                                   )
                        )

             )

В основном (псевдокод) мне нужно проверить каждый подмассив (не знаю, насколько глубоко), проверить, существует ли массив ORDER (после [NOS])

если массив Order Order = No, добавить массив без данных

если массив Order существует = Да, посмотрите, есть ли в массиве Order подрешетка, если нет, пропустите его (данные присутствуют)

еще

перебрать массив, если существует массив Order = yes, пропустить его (данные присутствуют)

еще

добавить массив Order без данных

Я не знаю, как добраться до последнего массива для проверки, добавления или пропуска.

0 ответов

Другие вопросы по тегам