Задать вопрос

Как удалить массив по значению?

Есть такая вложенность массивов:
Array
(
    [0] => Array
        (
            [id] => 1
            [prices] => Array
                (
                    [0] => Array
                        (
                            [id] => 1
                            [myprice] => 50
                        )

                    [1] => Array
                        (
                            [id] => 2
                            [myprice] => 1660
                        )

                    [2] => Array
                        (
                            [id] => 8
                            [myprice] => 15
                        )

                )

        )

    [1] => Array
        (
            [id] => 2
            [prices] => Array
                (
                    [0] => Array
                        (
                            [id] => 3
                            [myprice] => 80
                        )

                )

        )

)

Необходимо удалить все конечные подмассивы [prices][$n], у которых [prices][$n][id] != 2
Понимаю, что вопрос из разряда "сделайте за меня", но все попытки к результатам не привели, выкладывать сюда этот код не вижу смысла.
Спасибо.
  • Вопрос задан
  • 140 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@Azperin
Дилетант
ну делаешь два foreach и удаляешь по условию, выложи сюда хоть свои "попытки", потому что даже представить трудно что тут может быть не так.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Eridani
@Eridani
Мимо проходил
Извратный вариант пересбора
$newarr = Array();
foreach ($arr as $key1 => $item) {
  foreach($item['prices'] as $key2 => $price) {
    if($price['id'] != '2') {
      $newarr[$key1]['prices'][] = $price;
    }
    
  }
  
}
print_r($newarr);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы