代码之家  ›  专栏  ›  技术社区  ›  significance

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

  •  3
  • significance  · 技术社区  · 14 年前

    IE,验证

    $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 回复  |  直到 14 年前
        1
  •  23
  •   Wrikken    14 年前
    count(array_unique($a)) == 1;
    
        2
  •  3
  •   Sjoerd    14 年前

    检查所有项目是否等于第一个项目:

    $first = $array[0];
    foreach ($array as $a) {
        if ($a != $first) {
            return false;
        }
    }
    return true;
    
        3
  •  2
  •   Eugene    14 年前

    如果你对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;
    }
    

    前面提到的其他变体在使用上更简单。