Heim >Backend-Entwicklung >PHP-Tutorial >Wie erkennt man effizient Duplikate in PHP-Arrays?
Die Feststellung, ob ein Array doppelte Elemente enthält, ist eine häufig anzutreffende Anforderung. Obwohl PHP verschiedene Funktionen zur Array-Manipulation bereitstellt, ist es möglicherweise nicht sofort ersichtlich, wie effizient nach Duplikaten gesucht werden kann.
Ein einfacher, aber ineffizienter Ansatz besteht darin, das ursprüngliche Array mit zu vergleichen sein einzigartiges Gegenstück, generiert mit der Funktion array_unique(). Diese Methode verursacht jedoch den Rechenaufwand für die Erstellung eines neuen Arrays.
Man kann array_count_values() verwenden, um die Vorkommen jedes Elements im Array zu zählen. Durch den Vergleich der resultierenden Anzahl mit der Länge des Arrays können Duplikate erkannt werden:
<code class="php">function array_has_dupes($array) { return count(array_count_values($array)) !== count($array); }</code>
Wenn native Funktionen nicht ganz Ihren Anforderungen entsprechen, ziehen Sie eine benutzerdefinierte Implementierung in Betracht, die das durchläuft Array und sucht nach Duplikaten innerhalb eines Hashs oder einer Menge.
In Szenarios, in denen die erwartete Bedingung ein Array ohne Duplikate ist, wird die Leistung von der Zeit dominiert, die zum Durchlaufen des Arrays benötigt wird Array einmal. Wenn Duplikate jedoch häufig vorkommen, wird der Ansatz array_count_values() effizienter, da er Vorkommen schnell zählen kann.
Das obige ist der detaillierte Inhalt vonWie erkennt man effizient Duplikate in PHP-Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!