Aktueller Standort: Startseite> Neueste Artikel> Wie zähle ich die Anzahl, mit der jeder Wert in einem Array erscheint?

Wie zähle ich die Anzahl, mit der jeder Wert in einem Array erscheint?

M66 2025-05-12

Bei der PHP -Programmierung ist es eine häufige Anforderung, die Anzahl der Vorkommen jedes Wertes in einem Array zu zählen. Unabhängig davon, ob in der Datenanalyse, der Protokollstatistiken oder in verschiedenen Programmen diese Funktion helfen kann, Array -Daten effektiv zu verarbeiten. In diesem Artikel werden verschiedene Implementierungsmethoden eingeführt, um Ihnen dabei zu helfen, diese Aufgabe in PHP zu erledigen.

Methode 1: Verwenden Sie die Funktion array_count_values ​​()

Die integrierte Funktion von Array_Count_Values ​​() von PHP ist der direkteste und einfachste Weg, um mit diesem Problem umzugehen. Es dauert ein Array als Parameter und gibt ein assoziatives Array zurück, der Schlüssel ist der Wert im Array, und der Wert ist die Anzahl, mit der der Wert erscheint.

Beispielcode:

 <?php
$array = ["apple", "banana", "apple", "orange", "banana", "banana"];
$result = array_count_values($array);

print_r($result);
?>

Ausgangsergebnis:

 Array
(
    [apple] => 2
    [banana] => 3
    [orange] => 1
)

Wie oben gezeigt, zählt Array_Count_Values ​​() automatisch die Anzahl der Vorkommen jedes Wertes im Array.

Methode 2: Verwenden Sie Foreach Loop und Manual Counting

Wenn Sie jedes Element im Array anpassen möchten oder in einigen Fällen mehr Flexibilität erfordern, können Sie eine Foreach -Schleife verwenden, um die Anzahl der Vorkommen jedes Werts manuell zu zählen.

Beispielcode:

 <?php
$array = ["apple", "banana", "apple", "orange", "banana", "banana"];
$count = [];

foreach ($array as $value) {
    if (isset($count[$value])) {
        $count[$value]++;
    } else {
        $count[$value] = 1;
    }
}

print_r($count);
?>

Ausgangsergebnis:

 Array
(
    [apple] => 2
    [banana] => 3
    [orange] => 1
)

Dieser Ansatz eignet sich für Szenarien, in denen Sie mehr Logik anpassen müssen, z.

Methode 3: Verwenden Sie die Funktion array_reduce ()

Array_Reduce () ist eine funktionale Programmiermethode, mit der ein Array durch eine Rückruffunktion in einen einzelnen Wert zusammenbrechen kann. Hier können wir es verwenden, um die Funktion der Wertschöpfung zu implementieren.

Beispielcode:

 <?php
$array = ["apple", "banana", "apple", "orange", "banana", "banana"];

$count = array_reduce($array, function($carry, $item) {
    if (isset($carry[$item])) {
        $carry[$item]++;
    } else {
        $carry[$item] = 1;
    }
    return $carry;
}, []);

print_r($count);
?>

Ausgangsergebnis:

 Array
(
    [apple] => 2
    [banana] => 3
    [orange] => 1
)

Dieser Ansatz ist sehr effektiv, wenn es sich um komplexere Array -Operationen handelt, insbesondere wenn komplexere Aggregationslogik erforderlich ist.

Methode 4: Verwenden Sie Array_walk () und Referenz

Mit Array_WALK () können Sie jedes Element des Arrays ändern. Wenn Sie die Daten im Array durch Referenzen ändern müssen, kombiniert mit anderen Methoden, können Sie auch die Anzahl der Vorkommen jedes Elements zählen.

Beispielcode:

 <?php
$array = ["apple", "banana", "apple", "orange", "banana", "banana"];
$count = [];

array_walk($array, function($item) use (&$count) {
    if (isset($count[$item])) {
        $count[$item]++;
    } else {
        $count[$item] = 1;
    }
});

print_r($count);
?>

Ausgangsergebnis:

 Array
(
    [apple] => 2
    [banana] => 3
    [orange] => 1
)

Diese Methode ähnelt für foreach , ändern jedoch das Array durch Referenz, damit die Anzahl direkt auf externe Variablen aktualisiert werden kann.

Zusammenfassen

Die obigen Methoden zeigen, wie verschiedene Techniken und integrierte Funktionen verwendet werden, um die Anzahl der Vorkommen jedes Wertes in einem Array zu zählen. Der einfachste Weg ist die Verwendung von Array_Count_Values ​​() . Wenn Sie jedoch mehr Flexibilität und Steuerung benötigen, können Sie sich manuell abschließen oder funktionale Programmierungen verwenden.

Durch die Auswahl einer Methode, die Ihren Anforderungen entspricht, können Sie Array -Daten effizienter verarbeiten und die Lesbarkeit und Ausführungseffizienz Ihres Codes verbessern.