$array1 = array(1.99);
$array2 = array(1.99, 1.99, 2.99);
我只想从 $array2 中删除 $array1 的一个匹配元素。
所以,我想要的是:
1.99
2.99
我试过 array_diff()
,它将去掉两个 1.99
,只剩下 2.99
。
最佳答案
你可以利用这个事实 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
的结果不是假的。
关于php - 从两个数组中只删除一个匹配元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47101251/