PHP比较两个数组

时间:2011-11-29 11:19:55

标签: php

说我有两个数组:

     $a = a,b,c;
     $b = a,b;

当我比较这个数组时,输出应该是c

省略两个数组中的常用值。

4 个答案:

答案 0 :(得分:3)

快速回答:

array_merge(array_diff($a, $b), array_diff($b, $a));

array-diff($ a,$ b)只会从$ a中提取不在$ b中的值。

想法是合并差异。

实现目标的另一种方法可能是:

function array_unique_merge() {
        return array_unique(call_user_func_array('array_merge', func_get_args()));
    }

答案 1 :(得分:1)

查看PHP array_diff函数。

$a = a,b,c;
$b = a,b;
$c = array_diff($a,$b);

答案 2 :(得分:0)

首先,这不是有效的PHP - 但是......

$a = array("a","b","c");
$b = array("a","b");
print_r(array_diff($a,$b)); // Array ( [2] => c )

答案 3 :(得分:0)

只是为了让事情更简单

$a = array("a","b","c");
$b = array("a","b");
$new_array = array_merge(array_diff($a, $b), array_diff($b, $a));
while (list ($key, $val) = each ($new_array)) {
echo $val;
}