Beim Programmieren kann es nützlich sein, zu zählen, wie oft doppelte Elemente in einem Array vorkommen. Dazu müssen wir eine effiziente Lösung erstellen, die die gewünschten Daten genau erfasst.
Den Originalcode verstehen
Der bereitgestellte Code versucht, dies durch Iteration zu erreichen das Array mehrmals und verwaltet ein $ previous-Array, um eindeutige Elemente und deren Vorkommen zu speichern. Es gibt jedoch mehrere Probleme:
Eine effiziente Lösung
Eine einfachere und effizientere Lösung ist Verwenden Sie die integrierte Funktion array_count_values, die das Vorkommen jedes einzelnen Elements in einem Array zählt. Diese Funktion gibt ein assoziatives Array zurück, in dem die Schlüssel die eindeutigen Elemente und die Werte ihre jeweilige Anzahl sind.
$array = [12, 43, 66, 21, 56, 43, 43, 78, 78, 100, 43, 43, 43, 21]; $vals = array_count_values($array);
Dieses Codefragment speichert die Anzahl jedes eindeutigen Elements im $vals-Array. Die Ausgabe ist:
No. of NON Duplicate Items: 7 Array ( [12] => 1 [43] => 6 [66] => 1 [21] => 2 [56] => 1 [78] => 2 [100] => 1 )
Dieses Ergebnis liefert sowohl die Anzahl der eindeutigen Elemente (7) als auch die Anzahl für jedes eindeutige Element, was das gewünschte Ergebnis ist.
Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Vorkommen in einem Array effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!