比较Php中的2个数组

时间:2014-02-17 04:27:57

标签: php arrays

我创建了一个2个数组,如下所示。我的目标是比较这两个数组并回显一些内容,如果array2中的值不在array1中。

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(1, 2, 3, 4, 6);

4 个答案:

答案 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)

使用array_diff

<?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);