我想写一个函数来查找一维非关联数组中所有元素的匹配,并从另一个一维非关联数组中完全删除这些元素,包括索引。以下是一个例子。
<?php
function magicfunc($colors, $remove) {
// some magic here
}
EXAMPLE:
$colors = array(
'red',
'green',
'blue',
'purple',
'green',
'yellow',
'pink',
'orange'
);
$remove = array(
'green',
'white',
'pink'
);
magicfunc($colors, $remove);
WOULD RETURN:
Array
(
[0] => red
[1] => blue
[2] => purple
[3] => yellow
[4] => orange
)
我怎样才能做到这一点?注意可能存在多次匹配的元素(绿色),并且也可能没有与要删除的特定元素匹配的元素(白色)。该功能不应该与这些意外事件有关。
答案 0 :(得分:2)
尝试使用array_diff:http://us3.php.net/array_diff
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
结果:
Array
(
[1] => blue
)