Position actuelle: Accueil> Derniers articles> Comment compter les éléments qui n'apparaissent qu'une seule fois?

Comment compter les éléments qui n'apparaissent qu'une seule fois?

M66 2025-06-07

Au cours du processus de développement, nous rencontrons souvent la nécessité de compter le nombre d'occurrences d'un élément dans le tableau. Aujourd'hui, nous nous concentrerons sur la façon d'utiliser des éléments de statistiques PHP qui n'apparaissent qu'une seule fois dans le tableau et démontrent la mise en œuvre avec un exemple simple.

Contexte des exigences

Supposons que vous ayez un tableau avec plusieurs éléments, et nous voulons découvrir les éléments de ce tableau qui apparaissent 1 fois. Pour de tels besoins, PHP fournit plusieurs façons d'y parvenir, et aujourd'hui, nous présenterons une manière efficace et facile à comprendre.

Méthode 1: Utilisez array_count_values ​​et array_filter

La fonction array_count_values ​​intégrée de PHP peut compter les temps d'occurrence de tous les éléments d'un tableau. Il renverra un tableau associatif, la clé est l'élément dans le tableau et la valeur est les temps d'occurrence de l'élément correspondant. En combinant la fonction Array_Filter , nous pouvons facilement filtrer les éléments qui n'apparaissent qu'une seule fois.

Exemple de code:

 <?php
// Définir un tableau
$array = ['apple', 'banana', 'orange', 'apple', 'banana', 'grape', 'kiwi'];

// utiliser array_count_values Statistiques de fonction Le nombre d&#39;éléments se produit
$counted = array_count_values($array);

// utiliser array_filter Le nombre d&#39;occurrences filtrées est1Éléments
$uniqueElements = array_filter($counted, function($count) {
    return $count === 1;
});

// 获取只出现一次Éléments的键
$uniqueKeys = array_keys($uniqueElements);

// Résultats d&#39;impression
echo "只出现一次Éléments: " . implode(", ", $uniqueKeys);
?>

Analyse de code:

  1. Nous définissons un tableau de baies $ contenant plusieurs éléments.

  2. Utilisez array_count_values ​​($ array) pour compter le nombre d'occurrences de chaque élément dans le tableau, et renvoyez un tableau associatif $ compté , par exemple: ['Apple' => 2, 'banana' => 2, 'orange' => 1, 'grape' => 1, 'kiwi' => 1] .

  3. Ensuite, les éléments avec 1 occurrences sont filtrés via array_filter ($ compté, fonction ($ count) {return $ count === 1;}) .

  4. Enfin, utilisez Array_Keys ($ uniquielements) pour obtenir les clés de ces éléments qui n'apparaissent qu'une seule fois et sortent le résultat dans une chaîne via la fonction implosée .

Résultat de sortie:

 只出现一次Éléments: orange, grape, kiwi

Méthode 2: Utilisez ForEach directement à Traverse

En plus d'utiliser des fonctions intégrées, vous pouvez également parcourir directement le tableau pour compter le nombre de fois que l'élément apparaît. Voici une méthode à utiliser ForEach .

Exemple de code:

 <?php
// Définir un tableau
$array = ['apple', 'banana', 'orange', 'apple', 'banana', 'grape', 'kiwi'];

// Initialiser un tableau de compteurs
$counter = [];

// Itérer dans le tableau,Compter le nombre d&#39;occurrences de chaque élément
foreach ($array as $item) {
    if (isset($counter[$item])) {
        $counter[$item]++;
    } else {
        $counter[$item] = 1;
    }
}

// Le nombre d&#39;occurrences filtrées est1Éléments
$uniqueElements = [];
foreach ($counter as $key => $count) {
    if ($count === 1) {
        $uniqueElements[] = $key;
    }
}

// Résultats d&#39;impression
echo "只出现一次Éléments: " . implode(", ", $uniqueElements);
?>

Analyse de code:

  1. Nous initialisons d'abord un tableau de comptoir $ vide pour stocker le nombre d'occurrences de chaque élément.

  2. Itérer via $ array via foreach et enregistrez le nombre d'occurrences de chaque élément dans le tableau de comptoir $ .

  3. Ensuite, itérez à nouveau sur le tableau de comptoir $ , filtrez les éléments avec des occurrences de 1 et stockez-les dans le tableau $ uniquielements .

  4. Enfin, le résultat est sorti via la fonction Implose .

Résultat de sortie:

 只出现一次Éléments: orange, grape, kiwi

Résumer

Les deux méthodes peuvent compter efficacement les éléments qui n'apparaissent qu'une seule fois dans le tableau. La première méthode est implémentée via les fonctions Array_count_values ​​intégrées et Array_Filter de PHP, et le code est concis et facile à comprendre. La deuxième méthode consiste à traverser manuellement le tableau, ce qui convient à certains scénarios où les exigences de performance sont élevées ou ne comptent pas sur des fonctions intégrées.

Selon vos besoins et préférences spécifiques, vous pouvez choisir un moyen qui vous convient pour traiter les données de tableau. J'espère que cet article vous aide!