0

我在下面有这个数组:

PHP

$arr=array('A','A','B','C');

我想检查值,如果值重复必须是警报错误

PHP

$chk=array_count_values($array);
if ( $chk[0] < 1 || $chk[2] < 1 || $chk[3] < 1  || $chk[4] < 1 )
    echo 'array must be uniq';
4

5 回答 5

12

使用array_unique(),这可以很容易地重构为一个新函数:

function array_is_unique($array) {
   return array_unique($array) == $array;
}

例子:

$array = array("a", "a", "b", "c");
echo array_is_unique($array) ? "unique" : "non-unique"; //"non-unique"
于 2013-03-05T08:34:52.380 回答
1

试试这个 :

$arr  =   array('A','A','B','C');
if(count($arr) != count(array_unique($arr))){
  echo "array must be uniq";
}
于 2013-03-05T08:34:27.523 回答
0

只需尝试:

if ( count($arr) != count(array_unique($arr)) ) {
  echo 'array must be uniq';
}
于 2013-03-05T08:34:48.757 回答
0

您可以使用 foreach 循环遍历它,然后使用 strpos 函数查看字符串是否包含重复项

于 2013-03-05T08:35:24.680 回答
0

来自PHP 文档

数组array_unique ( 数组 $array [, int $sort_flags = SORT_STRING ] )

接受一个输入数组并返回一个没有重复值的新数组。

于 2013-03-05T08:36:50.707 回答