📌  相关文章
📜  检查数组中的任何值是否相同 php (1)

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

检查数组中的任何值是否相同 - PHP

在PHP中,可以通过以下方法检查数组中的任何值是否相同。

方法一:使用array_unique()

PHP的array_unique()函数返回一个新数组,其中所有重复的值都被删除。如果原始数组和新数组的长度不同,则原始数组中有重复值。

<?php
$arr = array(1, 2, 3, 4, 4, 5);
$unique_arr = array_unique($arr);

if(count($arr) != count($unique_arr)) {
    echo '数组中存在重复值';
} else {
    echo '数组中不存在重复值';
}
?>

这将输出:

数组中存在重复值
方法二:使用in_array()

PHP的in_array()函数检查一个值是否在数组中。使用循环来检查数组中的所有值是否存在于数组中。

<?php
$arr = array(1, 2, 3, 4, 4, 5);
$is_duplicate = false;

foreach($arr as $value) {
    if(in_array($value, $arr, true)) {
        $is_duplicate = true;
        break;
    }
}

if($is_duplicate) {
    echo '数组中存在重复值';
} else {
    echo '数组中不存在重复值';
}
?>

这将输出:

数组中存在重复值
方法三:使用array_count_values()

PHP的array_count_values()函数返回一个关联数组,其中数组中的每个值作为键,其出现次数作为值。使用循环来检查数组中出现超过一次的任何值。

<?php
$arr = array(1, 2, 3, 4, 4, 5);
$duplicate_values = array();

foreach(array_count_values($arr) as $key => $value) {
    if($value > 1) {
        $duplicate_values []= $key;
    }
}

if(count($duplicate_values) > 0) {
    echo '数组中存在重复值:' . implode(', ', $duplicate_values);
} else {
    echo '数组中不存在重复值';
}
?>

这将输出:

数组中存在重复值:4
结论

以上三种方法都可以检查PHP数组中是否存在重复的值,具体使用哪种方法取决于您的需求和个人偏好。