у меня есть этот API, который обеспечивает массив, который выглядит следующим образом:Удаление подмассива из многомерного массива по значению
[Air Strike] => Array
(
[defindex] => Array
(
[0] => 1104
)
[prices] => Array
(
[6] => Array
(
[Tradable] => Array
(
[Craftable] => Array
(
[0] => Array
(
[currency] => metal
[value] => 0.05
[last_update] => 1415072318
[difference] => -0.06
[value_raw] => 0.05
)
)
[Non-Craftable] => Array
(
[0] => Array
(
[currency] => metal
[value] => 0.11
[last_update] => 1436478504
[difference] => 0.03
[value_raw] => 0.11
)
)
)
)
[11] => Array
(
[Tradable] => Array
(
[Craftable] => Array
(
[0] => Array
(
[currency] => metal
[value] => 4
[last_update] => 1456277271
[difference] => -0.165
[value_raw] => 4
)
)
[Non-Craftable] => Array
(
[0] => Array
(
[currency] => metal
[value] => 3.66
[last_update] => 1456277553
[difference] => -0.34
[value_raw] => 3.66
)
)
)
)
)
)
Есть ли способ, я могу удалить подмассива в точке, где они, за неимением лучшего слово, расходятся, если элемент является либо неприменимым, либо ['value_raw'] меньше 3?
Мой желаемый результат будет таким:
[Air Strike] => Array
(
[defindex] => Array
(
[0] => 1104
)
[prices] => Array
(
[11] => Array
(
[Tradable] => Array
(
[Craftable] => Array
(
[0] => Array
(
[currency] => metal
[value] => 4
[last_update] => 1456277271
[difference] => -0.165
[value_raw] => 4
)
)
[Non-Craftable] => Array
(
[0] => Array
(
[currency] => metal
[value] => 3.66
[last_update] => 1456277553
[difference] => -0.34
[value_raw] => 3.66
)
)
)
)
)
)
Мои мысли по этому вопросу было перебрать все подмассив с вложенным Еогеасп() петлю и проверить значение [ «value_raw»] и является ли или нет он торгуется, но тогда как я узнаю, сколько подмассивов удалить, не удаляя слишком много? Возможно, идет назад, начиная с priceindex, а затем проверяя, содержит ли он более одного подмассива, и если он не удаляет его вместе со всем его содержимым?
просто используйте 'foreach', затем' unset', основываясь на ваших критериях, используя эти ключи. – Ghost
@Ghost Я попытался выполнить 'unset (array ['prices'])' в вложенном цикле foreach, но у него не было желаемый эффект – NoobieDoobie
В вашем желаемом выходе последний элемент имеет ['value_raw'] <4 – fusion3k