Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich leere Elemente in einem großen Array effizient zählen?
Array-Werte effizient zählen
Bei einem Array, das verschiedene Elemente enthält, ist es oft notwendig, die Vorkommen eines bestimmten Werts zu zählen. In diesem Fall versuchen wir, die Anzahl der leeren Elemente in einem Array zu zählen.
Problem
Betrachten Sie das folgende Array:
$array = array('', '', 'other', '', 'other');
Die Herausforderung besteht darin, die Anzahl der Elemente mit einem leeren Wert effizient zu zählen. Ein naiver Ansatz mit einer Schleife und einem Vergleich dauert bei großen Arrays mit Hunderten von Elementen mehr als 30 Sekunden.
Effiziente Lösung
Um die Effizienz zu steigern, können wir die Funktion array_count_values nutzen. Diese Funktion erstellt ein assoziatives Array, in dem die Schlüssel die Array-Werte darstellen und die entsprechenden Werte ihre jeweiligen Anzahlen darstellen.
function with($array) { $counts = array_count_values($array); return $counts['']; }
Im Beispielarray stellt '' den leeren Wert dar. Durch den Zugriff auf $counts[''] erhalten wir direkt die Anzahl der leeren Elemente, was im Vergleich zu einem schleifenbasierten Ansatz erhebliche Geschwindigkeitsverbesserungen bietet.
Verwendung
An Verwenden Sie diese Lösung, rufen Sie einfach die Funktion with auf und übergeben Sie das zu überprüfende Array. Zum Beispiel mit dem angegebenen Array:
$count = with($array); // $count will be 3
Das obige ist der detaillierte Inhalt vonWie kann ich leere Elemente in einem großen Array effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!