Position actuelle: Accueil> Derniers articles> Comment compter le nombre de fois que chaque valeur apparaît dans un tableau?

Comment compter le nombre de fois que chaque valeur apparaît dans un tableau?

M66 2025-05-12

Dans la programmation PHP, il est nécessaire de compter le nombre d'occurrences de chaque valeur dans un tableau. Que ce soit dans l'analyse des données, les statistiques du journal ou dans divers programmes, cette fonction peut nous aider à traiter efficacement les données du tableau. Cet article présentera plusieurs méthodes de mise en œuvre différentes pour vous aider à maîtriser facilement comment terminer cette tâche dans PHP.

Méthode 1: Utilisez la fonction array_count_values ​​()

La fonction array_count_values ​​() intégrée de PHP est le moyen le plus direct et le plus simple de traiter ce problème. Il prend un tableau en tant que paramètre et renvoie un tableau associatif, la clé est la valeur dans le tableau et la valeur est le nombre de fois où la valeur apparaît.

Exemple de code:

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

print_r($result);
?>

Résultat de sortie:

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

Comme indiqué ci-dessus, array_count_values ​​() compte automatiquement le nombre d'occurrences de chaque valeur dans le tableau.

Méthode 2: Utilisez une boucle foreach et un comptage manuel

Si vous souhaitez personnaliser chaque élément dans le tableau, ou dans certains cas, nécessitez plus de flexibilité, vous pouvez utiliser une boucle FOREAC pour compter manuellement le nombre d'occurrences de chaque valeur.

Exemple de code:

 <?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);
?>

Résultat de sortie:

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

Cette approche convient aux scénarios où vous devez personnaliser plus de logique, par exemple, si vous souhaitez effectuer d'autres opérations sur le décompte, ou simplement compter les valeurs d'un type spécifique.

Méthode 3: Utilisez la fonction array_reduce ()

Array_reduce () est une méthode de programmation fonctionnelle qui peut effondrer un tableau en une seule valeur via une fonction de rappel. Ici, nous pouvons l'utiliser pour implémenter la fonction de comptage de valeur.

Exemple de code:

 <?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);
?>

Résultat de sortie:

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

Cette approche est très efficace lorsque vous traitez des opérations de réseaux plus complexes, en particulier lorsque une logique d'agrégation plus complexe est nécessaire.

Méthode 4: Utilisez array_walk () et référence

array_walk () vous permet de modifier chaque élément du tableau. Si vous devez modifier les données dans le tableau via des références, combinées avec d'autres méthodes, vous pouvez également compter le nombre d'occurrences de chaque élément.

Exemple de code:

 <?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);
?>

Résultat de sortie:

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

Cette méthode est similaire à ForEach , mais modifiez le tableau par référence afin que le nombre puisse être directement mis à jour vers des variables externes.

Résumer

Les méthodes ci-dessus montrent comment utiliser différentes techniques et fonctions intégrées pour compter le nombre d'occurrences de chaque valeur dans un tableau. Le moyen le plus simple consiste à utiliser array_count_values ​​() , mais si vous avez besoin de plus de flexibilité et de contrôle, vous pouvez choisir de boucler manuellement ou d'utiliser la programmation fonctionnelle.

Le choix d'une méthode qui convient à vos besoins peut vous aider à traiter les données de tableau plus efficacement, en améliorant la lisibilité et l'efficacité de l'exécution de votre code.