Aktueller Standort: Startseite> Neueste Artikel> Wie zähle ich Elemente, die nur einmal erscheinen?

Wie zähle ich Elemente, die nur einmal erscheinen?

M66 2025-06-07

Während des Entwicklungsprozesses begegnen wir häufig auf die Notwendigkeit, die Anzahl der Vorkommen eines Elements im Array zu zählen. Heute werden wir uns darauf konzentrieren, wie PHP -Statistikelemente verwendet werden, die nur einmal im Array erscheinen, und die Implementierung mit einem einfachen Beispiel demonstrieren.

Erforderungshintergrund

Angenommen, Sie haben ein Array mit mehreren Elementen, und wir möchten die Elemente in diesem Array herausfinden, die 1 Mal erscheinen. Für solche Anforderungen bietet PHP mehrere Möglichkeiten, dies zu erreichen, und heute werden wir einen effizienten und leicht verständlichen Weg einführen.

Methode 1: Verwenden Sie Array_Count_Values ​​und Array_filter

Die integrierte Funktion von Array_Count_Values ​​von PHP kann die Vorkommenszeiten aller Elemente in einem Array zählen. Es wird ein assoziatives Array zurückgeben, der Schlüssel ist das Element im Array und der Wert sind die Vorkommenszeiten des entsprechenden Elements. Durch die Kombination der Funktion array_filter können wir leicht Elemente herausfiltern, die nur einmal erscheinen.

Beispielcode:

 <?php
// Definieren Sie ein Array
$array = ['apple', 'banana', 'orange', 'apple', 'banana', 'grape', 'kiwi'];

// verwenden array_count_values Funktionsstatistik Anzahl der Elemente tritt auf
$counted = array_count_values($array);

// verwenden array_filter Die Anzahl der gefilterten Vorkommen ist1Elemente
$uniqueElements = array_filter($counted, function($count) {
    return $count === 1;
});

// 获取只出现一次Elemente的键
$uniqueKeys = array_keys($uniqueElements);

// Druckergebnisse
echo "只出现一次Elemente: " . implode(", ", $uniqueKeys);
?>

Code Parsen:

  1. Wir definieren ein Array $ $ array mit mehreren Elementen.

  2. Verwenden Sie Array_Count_values ​​($ Array) , um die Anzahl der Vorkommen jedes Elements im Array zu zählen , und geben Sie ein assoziatives Array zurück, z.

  3. Als nächstes werden Elemente mit 1 Vorkommen durch Array_Filter gefiltert ($ Counted, Funktion ($ count) {return $ count === 1;}) .

  4. Verwenden Sie schließlich Array_Keys ($ UniqueLements), um die Schlüssel dieser Elemente zu erhalten, die nur einmal erscheinen, und geben Sie das Ergebnis in einer Zeichenfolge über die Implode -Funktion aus.

Ausgangsergebnis:

 只出现一次Elemente: orange, grape, kiwi

Methode 2: Verwenden Sie foreach direkt zum Traverse

Zusätzlich zur Verwendung integrierter Funktionen können Sie auch direkt über das Array iterieren, um die Anzahl der angezeigten Elemente zu zählen. Hier ist eine Methode, die für den Each verwendet werden muss.

Beispielcode:

 <?php
// Definieren Sie ein Array
$array = ['apple', 'banana', 'orange', 'apple', 'banana', 'grape', 'kiwi'];

// Initialisieren Sie eine Reihe von Zählern
$counter = [];

// Durch das Array iterieren,Zählen Sie die Anzahl der Vorkommen jedes Elements
foreach ($array as $item) {
    if (isset($counter[$item])) {
        $counter[$item]++;
    } else {
        $counter[$item] = 1;
    }
}

// Die Anzahl der gefilterten Vorkommen ist1Elemente
$uniqueElements = [];
foreach ($counter as $key => $count) {
    if ($count === 1) {
        $uniqueElements[] = $key;
    }
}

// Druckergebnisse
echo "只出现一次Elemente: " . implode(", ", $uniqueElements);
?>

Code Parsen:

  1. Wir initialisieren zuerst ein leeres $ counter -Array, um die Anzahl der Vorkommen jedes Elements zu speichern.

  2. Iterieren Sie durch $ Array durch foreach und zeichnen Sie die Anzahl der Ereignisse jedes Elements im $ Counter -Array auf.

  3. Dann wieder über das $ counter -Array iterieren, die Elemente mit einem 1 -jährigen Vorkommen herausfiltern und sie im $ UniqueLements -Array aufbewahren.

  4. Schließlich wird das Ergebnis über die Implode -Funktion ausgegeben.

Ausgangsergebnis:

 只出现一次Elemente: orange, grape, kiwi

Zusammenfassen

Beide Methoden können Elemente effektiv zählen, die nur einmal im Array erscheinen. Die erste Methode wird über die integrierten Array_Count_Values- und Array_Filter -Funktionen von PHP implementiert, und der Code ist präzise und leicht zu verstehen. Die zweite Methode besteht darin, das Array manuell zu durchqueren, was für einige Szenarien geeignet ist, in denen die Leistungsanforderungen hoch sind oder sich nicht auf integrierte Funktionen verlassen.

Abhängig von Ihren spezifischen Bedürfnissen und Vorlieben können Sie einen Weg auswählen, der Sie für die Verarbeitung der Array -Daten entspricht. Hoffe dieser Artikel hilft dir!