$array1 = array(1.99);
$array2 = array(1.99, 1.99, 2.99);
我想从$ array2中只删除$ array1的一个匹配元素。
所以,我想要的是:
1.99
2.99
我已尝试array_diff()
,这将取消1.99
两个,只留下2.99
。
答案 0 :(得分:4)
您可以利用array_search
仅从目标数组中返回一个匹配元素的事实,并使用它从$array2
中删除它:
$array1 = array(1.99);
$array2 = array(1.99, 1.99, 2.99);
foreach ($array1 as $remove) {
unset($array2[array_search($remove, $array2)]);
}
如果$array1
可以包含$array2
中不存在的元素,那么您需要添加array_search
的结果不是假的检查。< / p>
答案 1 :(得分:0)
首先将两个数组合并,找到唯一元素。尝试array_merge()
和array_unique()
<?php
$array1 = array(1.99);
$array2 = array(1.99, 1.99, 2.99);
print_r(array_unique(array_merge($array1, $array2)));
?>
答案 2 :(得分:0)
我的做法与@iainn类似:
JWT