Проверить повторяющиеся значения в массиве
Мой вопрос заключается в следующем:
у Меня есть следующий массив:
$array = array(10, 30, 10, 40, 40);
интересно, есть ли простой способ отобразить сообщение: "есть повторяющиеся значения" или "не есть повторяющиеся значения".
функция array_count_values()
мог обрабатывать этот массив вместе с foreach()
сравнивая результат результат, пока не найдете большего количества, чем 1. Тем не менее, я хотел бы убежать из этого анализа, потому что, только мне нужно знать, если происходят значения дубликаты, а не каковы эти значения. Кто-то бы еще одна идея?
2 answers
Удобным способом (но не знаю, думает о производительности) заключается в фильтрации дубликатов, чтобы другой массив, и сравнить с размерами:
$array = array(10, 30, 10, 40, 40);
$copia = array_unique($array);
if(count($copia) != count($array)) {
echo "existem valores duplicados";
} else {
echo "não existem valores duplicados";
}
Для отображения формы с помощью функции native php array_diff_assoc:
<?php
//array
$arr = array(10, 30, 80, 40, 40);
//function
function checkDuplicateElementArray(array $arr){
$toCompare = array_unique($arr);
return array_diff_assoc($arr, $toCompare);
}
//use
if(checkDuplicateElementArray($arr)){
echo "Existem valores duplicados";
}else{
echo "Não existem valores duplicados";
}