Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich das Vorkommen bestimmter Werte in einem PHP-Array effizient zählen?

Wie kann ich das Vorkommen bestimmter Werte in einem PHP-Array effizient zählen?

DDD
Freigeben: 2024-12-01 05:52:11
Original
321 Leute haben es durchsucht

How Can I Efficiently Count Occurrences of Specific Values in a PHP Array?

Werte in einem Array mit Array_count_values ​​zählen

Bei der Arbeit mit Arrays ist es oft notwendig, das Vorkommen bestimmter Werte zu zählen. Stellen Sie sich beispielsweise ein Array vor, das sowohl leere als auch nicht leere Werte enthält:

$array = array('', '', 'other', '', 'other');
Nach dem Login kopieren

Das Ziel besteht darin, die Anzahl der leeren Werte im Array effizient zu bestimmen, insbesondere bei größeren Arrays mit Hunderten von Elementen.

Zunächst könnten wir eine einfache Iteration in Betracht ziehen:

function without($array) {
    $counter = 0;
    for($i = 0, $e = count($array); $i < $e; $i++) {
        if(empty($array[$i])) {
            $counter += 1;
        }
    }
    return $counter;
}
Nach dem Login kopieren

Dieser Ansatz kann jedoch für größere Arrays ineffizient sein. PHP bietet eine optimiertere Lösung mit der Funktion array_count_values. Diese Funktion verwendet ein Array als Eingabe und gibt ein Array mit Schlüsseln zurück, die die Werte aus dem Eingabearray darstellen, und Werten, die die Anzahl jedes Werts darstellen.

$counts = array_count_values($array);
Nach dem Login kopieren

Das Ergebnis wäre:

array(
    '' => 3,
    'other' => 2
)
Nach dem Login kopieren

Um die Anzahl der Leerwerte zu zählen, greifen Sie einfach auf den entsprechenden Schlüssel zu:

$blank_count = $counts[''];
Nach dem Login kopieren

Dieser Ansatz ist deutlich effizienter als die iterative Methode, insbesondere bei großen Arrays.

Das obige ist der detaillierte Inhalt vonWie kann ich das Vorkommen bestimmter Werte in einem PHP-Array effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage