【发布时间】:2016-02-09 02:21:14
【问题描述】:
我有两个包含重复值的数组:
$test1 = Array(
"blah1",
"blah1",
"blah1",
"blah1",
"blah2"
);
$test2 = Array(
"blah1",
"blah1",
"blah1",
"blah2"
);
我正在尝试获取数组差异:
$result = array_diff($test1,$test2);
echo "<pre>";
print_r($result);
我需要它返回具有单个值 blah1 的数组,但它返回的是空数组...
我怀疑这与两个数组中存在重复值的事实有关,但不知道如何修复它......
请帮忙!!
编辑:
最终编写这个函数来解决问题:
function subtract_array($array1,$array2){
foreach ($array2 as $item) {
$key = array_search($item, $array1);
unset($array1[$key]);
}
return array_values($array1);
}
【问题讨论】:
-
@Acidon 我认为您应该添加自己的解决方案作为答案,因为我还没有找到更好的方法。
标签: php arrays array-difference