PHP - поиск, если значения находятся в массиве

У меня есть эти массивы:

$array = array();
array_push($array, array("id" => 1, "param" => "abc"));
array_push($array, array("id" => 2, "param" => "def"));
array_push($array, array("id" => 3, "param" => "ghi"));

[{"id":1,"param":"abc"},{"id":2,"param":"def"},{"id":3,"param":"ghi"}]


$search = array(1, 2);

Мне нужно удалить объект, сделав поиск, если $array содержит значение $search.

Окончательный массив должен выглядеть так:

[{"id":3,"nom":"ghi"}]

Любые идеи? Спасибо.


person Jhonatan Sandoval    schedule 13.09.2014    source источник


Ответы (1)


$arr = array_filter($array, function($obj) use($search) {
  return !in_array($obj['id'], $search);
});

В зависимости от того, как вы используете новый массив, вам может потребоваться переиндексировать его.

person Tim Cooper    schedule 13.09.2014