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

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

PHP - 检查所有数组值是否相同

在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)
结论

使用以上的方式,我们可以轻松地检查多维数组中所有元素是否都相等。这个方法也适用于任意维度的数组,代码简洁易懂,易于维护。

参考资料