我创建了一个2个数组,如下所示。我的目标是比较这两个数组并回显一些内容,如果array2中的值不在array1中。
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(1, 2, 3, 4, 6);
答案 0 :(得分:1)
正如其他人所指出的那样,你应该使用array_diff()
; array_diff($a, $b)
会返回$a
中不存在的$b
值。
所以:
if (($diff = array_diff($array2, $array1))) {
printf(
"Values in array2 that are not present in array1: %s\n",
join(' ', $diff)
);
}
答案 1 :(得分:0)
利用array_diff()
。
<?php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(1, 2, 3, 4, 6);
print_r(array_diff($array2,$array1));
<强> OUTPUT :
强>
Array
(
[4] => 6
)
<强> EDIT :
强>
这实际上与我正在寻找的相反。我想要的是 扫描array1以检查'6'的值是否确实存在 阵列。如果它没有回应什么
<?php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(1, 2, 3, 4, 6);
foreach($array2 as $val)
{
if(in_array($val,$array1))
{
echo "$val is available in array1<br>";
}
else
{
echo "$val is not available in array1<br>";
}
}
<强> OUTPUT :
强>
1 is available in array1
2 is available in array1
3 is available in array1
4 is available in array1
6 is not available in array1
答案 2 :(得分:0)
使用array_diff。
array_diff($array2, $array1);
答案 3 :(得分:0)
<?php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(1, 2, 3, 4, 6);
$result = array_diff($array1, $array2);
print_r($result);
?>
输出
Array
(
[4] => 6
)
如果你想在数组中使用相同的值array_intersect
$result = array_intersect($array1, $array2);