Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob Array-Nummern in PHP wiederholt werden, und wie entfernen Sie Duplikate

So ermitteln Sie, ob Array-Nummern in PHP wiederholt werden, und wie entfernen Sie Duplikate

PHPz
PHPzOriginal
2023-04-23 09:12:051122Durchsuche

In der täglichen Entwicklung müssen wir häufig feststellen, ob Array-Nummern wiederholt werden, und diese entfernen, insbesondere bei der Verarbeitung von Formulardaten, statistischen Daten usw. In diesem Artikel werden verschiedene Möglichkeiten vorgestellt, um festzustellen, ob Array-Nummern wiederholt werden, und wie man sie in PHP entfernt.

1. Verwenden Sie die Funktionen count und array_unique

In PHP können Sie die Funktion count verwenden, um die Anzahl der Array-Elemente zu zählen, und die Funktion array_unique kann doppelte Elemente entfernen das Array. Wenn Sie diese beiden Funktionen zusammen verwenden, können Sie feststellen, ob die Zahlen im Array wiederholt werden, und sie entfernen.

Beispielcode:

$arr = array(1,3,2,3,4,1,5);//测试数组
$count = count($arr);//统计数组元素的个数
$unique_count = count(array_unique($arr));//去重后的数组元素个数
if($count == $unique_count){
    echo '数组中没有重复的数字';
} else {
    echo '数组中有重复的数字';
}

Das Ausgabeergebnis ist:

数组中有重复的数字

2. Verwenden Sie die in_array-Funktion

in_array in PHP-Funktion, mit der ermittelt wird, ob sich ein Element in einem Array befindet. Sie können die Funktion in_array verwenden, um das Array zu durchlaufen und festzustellen, ob das Array doppelte Elemente enthält.

Beispielcode:

$arr = array(1,3,2,3,4,1,5);//测试数组
$repeat_flag = false;// 判断数组中是否存在重复元素的标志
for($i=0;$i<count($arr)-1;$i++){
    for($j=$i+1;$j<count($arr);$j++){
        if($arr[$i] == $arr[$j]) {// 数组中存在重复元素
            $repeat_flag = true;
            break;// 跳出循环
        }
    }
}
if($repeat_flag){
    echo &#39;数组中有重复的数字&#39;;
} else {
    echo &#39;数组中没有重复的数字&#39;;
}

Das Ausgabeergebnis ist:

数组中有重复的数字

3. Verwenden Sie die Funktion array_count_values ​​

array_count_values ​​​​in PHP Die Funktion kann die Anzahl identischer Elemente im Array zählen und ein assoziatives Array zurückgeben, wobei der Schlüssel den Elementwert im Array darstellt und der Wert die Häufigkeit angibt, mit der das Element im Array erscheint. Sie können die Funktion array_count_values ​​​​verwenden, um die Anzahl der Vorkommen jedes Elements im Array zu zählen. Wenn ein Element häufiger als 1 vorkommt, bedeutet dies, dass das Element wiederholt wird.

Beispielcode:

$arr = array(1,3,2,3,4,1,5);//测试数组
$n_arr = array_count_values($arr);// 利用array_count_values函数统计数组中每个元素出现次数
$repeat_flag = false;// 判断数组中是否存在重复元素的标志
foreach($n_arr as $n){
    if($n>1) {// 数组中存在重复元素
        $repeat_flag=true;
        break;// 跳出循环
    }
}
if($repeat_flag){
    echo '数组中有重复的数字';
} else {
    echo '数组中没有重复的数字';
}

Das Ausgabeergebnis ist:

数组中有重复的数字

4. Verwenden Sie die Funktionen array_flip und array_keys

php Die Funktion array_flip vertauscht die Schlüssel und Werte in einem Array und gibt ein neues Array zurück. In Kombination mit der Funktion array_keys können die Werte im neuen Array als Schlüssel im ursprünglichen Array verwendet werden, um festzustellen, ob im ursprünglichen Array doppelte Elemente vorhanden sind.

Beispielcode:

$arr = array(1,3,2,3,4,1,5);//测试数组
$new_arr = array_flip($arr);// 利用array_flip函数交换数组中的键和值
$repeat_flag=false;// 判断数组中是否存在重复元素的标志
foreach(array_keys($new_arr) as $k){// 将新数组中的值作为原数组中的键
    if(count($arr)-count(array_keys($arr,$k))>1){// 判断原数组中是否存在重复元素
        $repeat_flag=true;// 存在重复元素
        break;
    }
}
if($repeat_flag){
    echo '数组中有重复的数字';
} else {
    echo '数组中没有重复的数字';
}

Das Ausgabeergebnis ist:

数组中有重复的数字

5. Verwenden Sie die Funktionen array_unique und array_diff, um zu ermitteln, ob doppelte Elemente vorhanden sind array#🎜🎜 #

Die Funktion array_diff in PHP kann den Differenzsatz eines Arrays berechnen und das Differenzarray zurückgeben. In Kombination mit der Funktion array_unique können Sie den Unterschied zwischen dem ursprünglichen Array und dem deduplizierten Array ermitteln und dann feststellen, ob im ursprünglichen Array doppelte Elemente vorhanden sind.

Beispielcode:

$arr = array(1,3,2,3,4,1,5);//测试数组
$unique_arr = array_unique($arr);// 利用array_unique函数去重
$diff_arr = array_diff($arr,$unique_arr);// 计算原数组与去重后的数组的差集,并返回差集数组
if(!empty($diff_arr)){// 差集不为空,说明原数组中存在重复元素
    echo '数组中有重复的数字';
} else {
    echo '数组中没有重复的数字';
}
Das Ausgabeergebnis ist:

数组中有重复的数字
Die oben genannten sind mehrere Implementierungsmethoden, um zu bestimmen, ob Array-Nummern wiederholt werden, und um sie zu deduplizieren in PHP. Verschiedene Methoden haben ihre eigenen Vor- und Nachteile. Wir können je nach tatsächlicher Situation die geeignete Methode auswählen, um bessere Ergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob Array-Nummern in PHP wiederholt werden, und wie entfernen Sie Duplikate. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn