Dans la programmation PHP, Array_count_values est une fonction très courante, et sa fonction est de compter le nombre de fois que toutes les valeurs apparaissent dans un tableau. Pour les baies d'index ordinaires, Array_count_values peut fonctionner en douceur, mais si le tableau entrant est un tableau associatif, une erreur peut être signalée. Aujourd'hui, discutons des raisons pour lesquelles les tableaux associatifs rapportent des erreurs lors de l'utilisation de Array_count_values et comment résoudre ce problème.
Premièrement, la fonction Array_count_values est définie comme suit:
array array_count_values(array $input);
La fonction prend un tableau en entrée et renvoie un nouveau tableau où la clé est toutes les différentes valeurs du tableau d'origine et les valeurs sont le nombre de fois que ces valeurs apparaissent.
Par exemple:
<?php
$input = ["apple", "banana", "apple", "orange", "banana", "banana"];
$result = array_count_values($input);
print_r($result);
?>
La sortie sera:
Array
(
[apple] => 2
[banana] => 3
[orange] => 1
)
Il s'agit de la fonction de base de Array_count_values , qui compte le nombre d'occurrences de chaque valeur dans le tableau.
Pour les tableaux associatifs, nous pouvons rencontrer les situations suivantes:
<?php
$assocArray = [
"first" => "apple",
"second" => "banana",
"third" => "apple",
"fourth" => "orange",
"fifth" => "banana"
];
$result = array_count_values($assocArray);
print_r($result);
?>
En théorie, la sortie doit être similaire à ce qui suit:
Array
(
[apple] => 2
[banana] => 2
[orange] => 1
)
Cependant, le problème se produit lorsque Array_count_values est utilisé pour des tableaux associatifs, une erreur peut être augmentée. La raison en est: array_count_values attend un tableau d'index normal (c'est-à-dire que les clés du tableau sont des entiers ou des nombres similaires). Lors du traitement d'un tableau associatif, Array_count_values ne peut pas gérer correctement les clés du tableau associatif, provoquant ainsi des erreurs ou un comportement non satisfait.
Pour éviter les erreurs des tableaux associatifs, nous pouvons d'abord utiliser la fonction Array_Values pour convertir le tableau associatif en un tableau d'index, puis compter la valeur:
<?php
$assocArray = [
"first" => "apple",
"second" => "banana",
"third" => "apple",
"fourth" => "orange",
"fifth" => "banana"
];
// Convertir un tableau associatif en un tableau d'index
$values = array_values($assocArray);
// Le nombre de fois où les statistiques apparaissent
$result = array_count_values($values);
print_r($result);
?>
La sortie sera:
Array
(
[apple] => 2
[banana] => 2
[orange] => 1
)
Après avoir converti le tableau associatif en un tableau d'index via array_values , array_count_values peut fonctionner correctement.
Array_count_values est une fonction PHP très utile qui peut être utilisée pour compter le nombre d'occurrences de chaque valeur dans un tableau. Mais il y aura des problèmes sur les tableaux associatifs. Pour résoudre ce problème, le moyen le plus simple consiste à utiliser la fonction Array_Values pour convertir le tableau associatif en un tableau d'index, puis utiliser array_count_values . De cette façon, nous pouvons compter avec succès la fréquence de la valeur.
Si vous rencontrez des problèmes similaires lors de l'utilisation de PHP, n'oubliez pas de convertir de manière appropriée la structure du tableau compte tenu de la particularité du tableau associatif.
J'espère que cet article vous sera utile, merci d'avoir lu!