Как добавить массив в сложный многомерный массив в точный подмассив, если существует или нет с неизвестной глубиной в 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 без данных
Я не знаю, как добраться до последнего массива для проверки, добавления или пропуска.