Мне нужно удалить внутренний массив из массива. Фактически, массив получается путем декодирования JSON
и может идти до n levels
. Мне нужно удалить внутренний массив из массива его родителя на основе динамического ключа. Ниже приведен код, который я попробовал, ссылаясь на ответы на php-массивы.Удалить внутренний массив в php
$quotationHistory = json_decode($quotationCollection->getHistory(), true);
$quotationId = 5;
foreach ($quotationHistory as $sales_id => $history) {
foreach($history as $quotationIdValue => $values) {
if ($quotationId == $quotationIdValue) {
unset ($history[$quotationIdValue]);
}
}
}
образец:
Array
(
[1] => Array
(
[5] => Array
(
[0] => Array
(
[0] => 3
[1] => 8490.0000
[2] => 21-10-2016 11:43:18am
[3] => 24-11-2016 11:43:18am
[4] => 199
[5] => rtg
)
[1] => Array
(
[0] => 12
[1] => 8490.0000
[2] => 21-10-2016 11:43:40am
[3] => 24-11-2016 11:43:18am
[4] => 199
[5] => rtg
)
[2] => Array
(
[0] => 45
[1] => 8490.0000
[2] => 21-10-2016 11:43:54am
[3] => 24-11-2016 11:43:18am
[4] => 199
[5] => rtg
)
[3] => Array
(
[0] => 11
[1] => 8490.0000
[2] => 21-10-2016 11:44:04am
[3] => 24-11-2016 11:43:18am
[4] => 199
[5] => rtg
)
[4] => Array
(
[0] => 54
[1] => 8490.0000
[2] => 21-10-2016 11:44:16am
[3] => 24-11-2016 11:43:18am
[4] => 199
[5] => rtg
)
)
)
)
Теперь я хочу, чтобы удалить данные второго уровня с ключом = 5
Вы уверены, что вы прошли в 'if' состоянии? Правильно ли инициализирована ваша переменная '$ quotationId'? Сделайте дамп вашего '$ quotationId' и вашего массива. Добавьте трассировку в состояние 'if'. –
Правильно отформатируйте «образец», который вы только что добавили, он не читается. –