Position actuelle: Accueil> Derniers articles> Créer une fonction personnalisée encapsulation array_count_values ​​() pour améliorer la réutilisabilité

Créer une fonction personnalisée encapsulation array_count_values ​​() pour améliorer la réutilisabilité

M66 2025-06-07

Pendant le développement, les opérations de réseau sont l'une des tâches courantes. PHP fournit de nombreuses fonctions intégrées pour manipuler les tableaux, parmi lesquels array_count_values ​​() est une fonction très pratique. Sa fonction consiste à compter le nombre d'occurrences de toutes les valeurs dans le tableau et à renvoyer le résultat en tant que tableau associatif. Cependant, nous voulons parfois résumer cette opération dans une fonction personnalisée pour la réutiliser dans le projet et simplifier le processus de développement.

Cet article montrera comment encapsuler array_count_values ​​() en créant une fonction personnalisée pour améliorer la réutilisabilité du code, ainsi que la simplicité du code et la maintenabilité.

1. Introduction de base à array_count_values ​​()

array_count_values ​​() est une fonction intégrée en PHP qui peut compter le nombre d'occurrences de toutes les valeurs dans un tableau. Il renvoie un tableau associatif où la clé est la valeur qui apparaît dans le tableau et la valeur est le nombre d'occurrences de cette valeur.

Exemple de code:

 $array = ["apple", "banana", "apple", "orange", "banana", "apple"];
$count = array_count_values($array);
print_r($count);

Résultat de sortie:

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

D'après l'exemple ci-dessus, nous pouvons voir que Array_count_values ​​() peut facilement compter la fréquence des éléments du tableau.

2. Créez une fonction de fonction personnalisée array_count_values ​​()

Bien que Array_Count_Values ​​() soit une fonction intégrée très pratique, nous pouvons le résumer davantage pour créer une fonction personnalisée plus polyvalente et plus extensible. De cette façon, nous pouvons le réutiliser en cas de besoin et gérer de manière centralisée la logique de fonction.

Conception de fonction personnalisée:

Nous créerons une fonction personnalisée CountValues ​​qui prend un tableau comme argument, appelez array_count_values ​​() pour compter les occurrences de chaque valeur dans le tableau et renvoyer le résultat.

 /**
 * Statistiques Le nombre d'occurrences de chaque valeur dans le tableau
 *
 * @param array $inputArray Le tableau d'entrée
 * @return array Renvoie le tableau associatif des résultats des statistiques
 */
function countValues(array $inputArray): array {
    // utiliser array_count_values Compter
    return array_count_values($inputArray);
}

Exemple de code:

 $array = ["apple", "banana", "apple", "orange", "banana", "apple"];
$result = countValues($array);
print_r($result);

Résultat de sortie:

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

Par encapsulation, nous pouvons gérer et réutiliser ce code plus clairement. Et, si nous devons étendre cette logique à l'avenir (comme l'ajout de contrôle de la sensibilité des caisses, ou filtrant certaines valeurs spécifiques, etc.), nous n'avons qu'à modifier la fonction countValues ​​() .

3. Améliorer la réutilisabilité du code et simplifier le processus de développement

3.1 Réutilisation du code

Le plus grand avantage de l'encapsulation des fonctions est qu'ils améliorent la réutilisabilité du code. Peu importe où vous devez faire des statistiques similaires dans le projet, appelez simplement la fonction countValues ​​() , et vous n'avez pas besoin d'écrire un morceau de code d'appel Array_count_Values ​​() . De cette façon, le code devient plus modulaire et facile à gérer.

3.2 Simplifier le développement

Pendant le développement, nous rencontrons souvent des tâches similaires: compter le nombre d'occurrences de certaines valeurs dans un tableau. En encapsulant array_count_values ​​() , nous pouvons appeler directement CountValues ​​() pendant le développement sans prêter attention aux détails de l'implémentation sous-jacents à chaque fois. Cela améliore non seulement l'efficacité du développement, mais rend également le code plus lisible.

3.3 Facile à développer et à entretenir

S'il existe de nouvelles exigences ou modifications pour la fonction encapsulée, nous n'avons qu'à modifier un seul endroit (c'est-à-dire la fonction countValues ​​() elle-même). Cela rend le code plus facile à maintenir et peut être ajusté de manière flexible en fonction de vos besoins. Par exemple, si nous voulons ignorer certaines valeurs spécifiques pendant les statistiques ou les valeurs de filtre, la fonction encapsulée peut être facilement élargie.

4. Extension d'échantillon de code: Ajouter une fonction de filtrage

Pour mieux démontrer l'évolutivité de l'encapsulation, supposons que nous voulons filtrer certaines valeurs spécifiques lors du comptage des valeurs. Nous pouvons modifier la fonction countValues ​​() et ajouter un paramètre de filtrage facultatif.

Fonction CountValues ​​() modifiée:

 /**
 * Statistiques Le nombre d'occurrences de chaque valeur dans le tableau,Et filtrez la valeur spécifiée
 *
 * @param array $inputArray Le tableau d'entrée
 * @param array $excludeValues Valeurs qui doivent être exclues
 * @return array Renvoie le tableau associatif des résultats des statistiques
 */
function countValues(array $inputArray, array $excludeValues = []): array {
    // Filtrez des valeurs inutiles
    $filteredArray = array_diff($inputArray, $excludeValues);
    
    // utiliser array_count_values Compter
    return array_count_values($filteredArray);
}

Exemple de code:

 $array = ["apple", "banana", "apple", "orange", "banana", "apple"];
$exclude = ["banana"]; // Filtrer 'banana'
$result = countValues($array, $exclude);
print_r($result);

Résultat de sortie:

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

Grâce à des extensions, nous pouvons exclure sélectivement certaines valeurs lors de l'appel, ce qui rend la fonction plus flexible et pratique.

5. Conclusion

En créant une encapsulation personnalisée array_count_values ​​() , nous pouvons obtenir un code plus efficace, concis et maintenable. L'encapsulation améliore non seulement la réutilisabilité du code, mais simplifie également le processus de développement et rend la logique du code plus claire. Qu'il s'agisse des fonctions statistiques de base ou lorsque davantage de fonctions doivent être élargies, les fonctions encapsulées peuvent être répondues de manière flexible et une amélioration de l'efficacité de développement.

J'espère que cet article peut vous aider à comprendre comment simplifier le processus de développement en encapsulant les fonctions intégrées et à améliorer efficacement la maintenabilité et la réutilisabilité de votre code.