Php 如果第二个数组中并没有匹配的值,如何合并两个数组并只获取第一个数组中的值

Php 如果第二个数组中并没有匹配的值,如何合并两个数组并只获取第一个数组中的值,php,Php,我有两个阵列: $array1 = [460,471]; $array2 = [193,42,471]; 如果$array2中没有相同的值,如果$array2中有相同的值,我只想在$array1中获取该值,将其过滤掉 如果在$array2中没有相同的可用值,则预期输出: $output = [460, 471] $output = [460] 预期输出为:$array2中存在相同的值: $output = [460, 471] $output = [460] 尝试array\u dif

我有两个阵列:

$array1 = [460,471];
$array2 = [193,42,471];
如果
$array2
中没有相同的值,如果
$array2
中有相同的值,我只想在
$array1
中获取该值,将其过滤掉

如果在
$array2
中没有相同的可用值,则预期输出:

$output = [460, 471]
$output = [460]
预期输出为:
$array2
中存在相同的值:

$output = [460, 471]
$output = [460]
尝试
array\u diff()
函数

$array1 = [460,471];
$array2 = [193,42,471];

$filtered = array_diff($array1,$array2);


print_r($filtered);

在哈希的帮助下,可以很容易地实现同样的效果

首先,尝试将array2的值映射到散列中

例如,
$array2=[193,42471]的每个元素将有一个值将其存在标记为true

现在,对于每个元素是
$array1
,请检查其哈希中是否有值。如果它有一个,那么跳过它


因此,在检查之后,您将获得第二个数组中不存在的所有值。

您需要做一些适当的研究,并首先自己尝试一下。如果你不能让它工作,回来,告诉我们你已经尝试了什么,预期的结果和你得到了什么结果。请阅读并回答。对不起,我已经尝试过了,但在问题@Magnuseriksson中没有提及。请不要为您的问题添加答案。我已回滚/编辑了您的问题。请写一个新的答案。