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');
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; }
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);
Das Ergebnis wäre:
array( '' => 3, 'other' => 2 )
Um die Anzahl der Leerwerte zu zählen, greifen Sie einfach auf den entsprechenden Schlüssel zu:
$blank_count = $counts[''];
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!