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

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

4

3 回答 3

2

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

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

请参阅PHP 手册

于 2013-09-08T17:11:43.823 回答
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;
}
}
于 2013-09-11T22:21:38.110 回答
1
if ( $array1 == $array2 ) {
    return true;
}
else{
    return false;
}

注意:键也必须相同。


仅检查值:

if(!array_diff($array1, $array2) && !array_diff($array2, $array1)) 
   return true;
于 2013-09-08T17:08:19.033 回答