ILoveYAnny
@ILoveYAnny

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

Здравствуйте, ломаю голову как правильно можно почистить массив при следующих условия.

Есть многомерный массив А
Array 
( 
    Array 
    ( 
    [id] => 1 
    [value] => 222 
    )
    Array 
    ( 
    [id] => 2 
    [value] => 333 
    )
)

И многомерный массив B
Array 
( 
    Array 
    ( 
    [id] => 2 
    [name] => "Bob" 
    )
    Array 
    ( 
    [id] => 3 
    [name] => "Anna" 
    )
)


Как можно сравнить оба массива, и если id пересекаются, то в массиве А, полностью удалить соотвествующий массив.
Иными словами, в данном примере, в массиве А мне нужно удалить:
Array 
    ( 
    [id] => 2 
    [value] => 333 
    )


У меня голова взрывается, когда пытаюсь спроектировать функцию... Нашёл что-то вроде array_diff() , но как применить в такой сложности и уровне вложенности не могу.. Как правильно можно это реализовать?
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$A = array_udiff($A, $B, function($a, $b) { return $a['id'] - $b['id'] });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 14:44
10000 руб./за проект
25 апр. 2024, в 14:44
250 руб./в час