📌  相关文章
📜  php 检查数组中的所有值是否相等 - PHP (1)

📅  最后修改于: 2023-12-03 15:18:31.325000             🧑  作者: Mango

PHP 检查数组中的所有值是否相等

在 PHP 中,我们经常需要检查一个数组中的所有值是否相等。这可能是因为我们需要在代码中执行某些操作,只有当数组中的所有项都相等时才能继续。下面是几种方法可以实现此功能。

方法一:使用 PHP 函数

我们可以使用 PHP 函数 array_unique() 来检查数组中的所有项是否相等。该函数从数组中删除重复的值,最终返回一个新数组。如果数组中的所有项都相等,则新数组的长度为 1,否则长度大于 1。下面是一个示例:

function check_array($arr) {
  return count(array_unique($arr)) === 1;
}

// 测试
$arr1 = [1, 1, 1];
$arr2 = [1, 2, 1];
var_dump(check_array($arr1)); // true
var_dump(check_array($arr2)); // false

以上代码中,我们定义了一个名为 check_array() 的函数,该函数接受一个数组作为参数。在函数内部,我们使用 array_unique() 函数来获取一个新数组,然后返回新数组的长度是否为 1 来判断数组中的所有项是否相等。

方法二:使用循环

除了使用 PHP 函数之外,我们还可以使用循环来检查数组中的所有项是否相等。下面是一个示例:

function check_array($arr) {
  $len = count($arr);
  for ($i = 0; $i < $len - 1; $i++) {
    if ($arr[$i] !== $arr[$i+1]) {
      return false;
    }
  }
  return true;
}

// 测试
$arr1 = [1, 1, 1];
$arr2 = [1, 2, 1];
var_dump(check_array($arr1)); // true
var_dump(check_array($arr2)); // false

以上代码中,我们定义了一个名为 check_array() 的函数,该函数接受一个数组作为参数。在函数内部,我们使用循环遍历数组中的所有项,如果发现相邻的两项不相等,则立即返回 false,表示数组中的不相等。否则,返回 true,表示数组中的所有项都相等。

总结

在 PHP 中,使用 array_unique() 函数和循环都可以检查数组中的所有项是否相等。无论使用哪种方法,都需要注意数组中可能包含不同类型的值,这可能会导致不同的比较结果。