📅  最后修改于: 2023-12-03 15:18:31.325000             🧑  作者: Mango
在 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()
函数和循环都可以检查数组中的所有项是否相等。无论使用哪种方法,都需要注意数组中可能包含不同类型的值,这可能会导致不同的比较结果。