比较具有相同值的数组

时间:2013-09-08 17:03:23

标签: php arrays duplicate-data

$array1 = array(1,1,1);  
$array2= array(1,5,9,2,2,1);

我需要将$array2$array1进行比较,如果$array2具有相同的相同值,则应返回true,否则应返回false。在这种情况下,它应该返回false

3 个答案:

答案 0 :(得分:2)

您可以使用=====运算符。

$array1 == $array2仅检查两个数组是否包含相同的键/值对,$array1 === $array2还检查它们是否具有相同的顺序,以及它们是否属于同一类型。

请参阅PHP manual

答案 1 :(得分:1)

if ( $array1 == $array2 ) {
    return true;
}
else{
    return false;
}

注意:键也必须相同。


仅检查值:

if(!array_diff($array1, $array2) && !array_diff($array2, $array1)) 
   return true;

答案 2 :(得分:1)

非常感谢@Shadowfax寻求帮助,但我提出了解决方案,所以如果有人遇到同样的问题,我会在这里发帖..

function compareArrayValues($array1,$array2){
$result= array();
for ($a=0; $a< count($array1); $a++){
    $array2=array_values($array2);
    for ($b=0; $b < count($array2) ; $b++) { 
        if ($array1[$a] == $array2[$b]){
            array_push($result,$array1[$a]);
            unset($array2[$b]);
            break;
        }
    }

}
if ($result == $array1){
    return true;
}else{
    return false;
}
}