以下是我的代码:
$array1=('23','3','55','67');
function has_dupes($array1){
$dupe_array = array();
foreach($array1 as $val){
if(++$dupe_array[$val] > 1){
return true;
}
}
return false;
}
我是PHP的新手,想要编写一个函数来检查数组是否有重复的整数。我的代码如下:
它出错:Parse error: syntax error, unexpected ',' on line 1
答案 0 :(得分:3)
您错过了array
关键字
$array1 = array('23','3','55','67');
^ // here was the mistake
答案 1 :(得分:3)
function has_duplicates($myArray) {
return (max(array_count_values($myArray)) > 1);
}
答案 2 :(得分:2)
您当前的问题是您使用了错误的数组语法。正确的可能是
$array1 = ['23','3','55','67']; // only possible in PHP >= 5.4
或
$array1 = array('23','3','55','67'); // all versions of PHP
关于欺骗检测功能,您不需要,因为您可以使用现成的array_unique
。
if (count(array_unique($array)) != count($array)) {
// the array has dupes
}
答案 3 :(得分:1)
$array1= array(23,3,55,67);
将整数作为整数。
答案 4 :(得分:1)
通过将数字放在引号中,您将它们视为字符串。此外,数组语法错误...
$array1 = array(1,2,25,26);
答案 5 :(得分:1)
这是错误
$array1=array('23','3','55','67');
答案 6 :(得分:1)
您可以使用array_unique
轻松执行此检查。只需将原始数组的长度与数组唯一版本的长度进行比较。
function has_dupes($array){
return count($array) != count(array_unique($array));
}
您还想使用array()
声明一个数组。
答案 7 :(得分:1)
你为什么不这样做?
$array1 = array_unique($array1)
我是否误解了这个问题?