делает $result = !empty(array_intersect($a, $b));
просто скажет вам, есть ли общие элементы между $a
и $b
$result = array();
$a = array(
array(
"id" => 1946,
"name" => "Cook", // upper case C
"pic" => "cookpic.png"
),
array(
"id" => 1946,
"name" => "cook", // lower case c
"pic" => "cookpic.png"
)
);
$b = array(
array(
"id" => 1944,
"name" => "driver",
"pic" => "driver.png"
),
array(
"id" => 934,
"name" => "developer",
"pic" => "developer.png"
),
array(
"id" => 1946,
"name" => "cook", // lower case c
"pic" => "cookpic.png"
)
);
foreach ($a as $k => $v) {
if (in_array($v, $b) == false) {
array_push($result, $v);
}
}
print_r($result);
, вы можете использовать array_diff , но это не работает смногомерные массивы.Таким образом, вы должны сделать это с нуля
РЕДАКТИРОВАТЬ:
$result = array();
$a = array(
array(
"id" => 1946,
"name" => "Cook", // upper case C
"pic" => "cookpic.png"
),
array(
"id" => 1946,
"name" => "cook", // lower case c
"pic" => "cookpic.png"
)
);
$b = array(
array(
"id" => 1944,
"name" => "driver",
"pic" => "driver.png"
),
array(
"id" => 934,
"name" => "developer",
"pic" => "developer.png"
),
array(
"id" => 1946,
"name" => "cook", // lower case c
"pic" => "cookpic.png"
)
);
$m = array_merge($a, $b);
$result = array_map("unserialize", array_unique(array_map("serialize", $m)));
print_r($result);
объединить два массива и затем применить array_unique, используя array_map для удаления дубликатов