我如何检查数组的所有元素是否相同?

时间:2010-06-19 13:27:20

标签: php arrays

即验证

$a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1;

但不是

$a[0]=1; $a[0]=2; $a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1; $a[0]=1;

谢谢:)

3 个答案:

答案 0 :(得分:23)

count(array_unique($a)) == 1;

答案 1 :(得分:3)

检查所有项目是否与第一项相同:

$first = $array[0];
foreach ($array as $a) {
    if ($a != $first) {
        return false;
    }
}
return true;

答案 2 :(得分:2)

如果您不熟悉PHP,那么以这种方式使用它可能更容易

function chkArrayUniqueElem($arr) {
    for($i = 0; $i < count($arr); $i++) {
        for($j = 0; $j < count($arr); $j++) {
            if($arr[$i] != $arr[$j]) return false;
        }
    }
    return true;
}

之前提出的其他变体使用起来更简单。