📅  最后修改于: 2023-12-03 15:33:38.662000             🧑  作者: Mango
在PHP中检查数组中所有元素是否都相同是一个常见的需求。本文将介绍如何使用PHP编写一个函数来检查多维数组中的所有元素是否相同。
我们可以使用递归函数来检查多维数组中的所有元素是否相同。下面是具体实现:
/**
* 检查多维数组中所有元素是否相同
*
* @param array $arr 要检查的数组
* @return bool
*/
function checkArrayValuesEqual($arr)
{
// 如果数组只有一个元素或空数组,则认为所有元素都相等
if(count($arr) <= 1) {
return true;
}
// 取出第一个元素,用于与数组中的其他元素比较
$firstValue = reset($arr);
// 遍历数组中的其他元素,比较是否与第一个元素相同
foreach ($arr as $value) {
if ($value !== $firstValue) {
// 如果不相等,则返回false
return false;
}
// 递归检查多维数组
if (is_array($value) && !checkArrayValuesEqual($value)) {
// 如果多维数组中的元素不相等,则返回false
return false;
}
}
// 如果所有元素都相等,则返回true
return true;
}
下面是一个测试多维数组中所有元素都相等的例子:
$arr1 = array(
array(1, 1, 1),
array(1, 1, 1),
array(1, 1, 1)
);
var_dump(checkArrayValuesEqual($arr1)); // 输出:bool(true)
下面是一个测试多维数组中有不相等元素的例子:
$arr2 = array(
array(1, 1, 1),
array(1, 2, 1),
array(1, 1, 1)
);
var_dump(checkArrayValuesEqual($arr2)); // 输出:bool(false)
使用以上的方式,我们可以轻松地检查多维数组中所有元素是否都相等。这个方法也适用于任意维度的数组,代码简洁易懂,易于维护。