Pendant le développement, le traitement des données de tableau multidimensionnelles renvoyées par l'API est une tâche courante. Surtout lorsque nous devons extraire un champ des données complexes renvoyées et analyser les valeurs communes du champ, la fonction Array_Column de PHP est particulièrement efficace et concise.
Cet article utilisera une API typique pour retourner les données comme exemple pour démontrer comment extraire facilement un champ spécifié à l'aide d'Array_Column et combiner d'autres fonctions PHP pour compter la valeur la plus fréquente dans ce champ.
Array_Column est une nouvelle fonction intégrée ajoutée à PHP 5.5.0 et au-dessus. Il peut extraire la valeur d'une colonne d'un tableau multidimensionnel et renvoyer un tableau unidimensionnel, simplifiant le processus fastidieux de traverser manuellement le tableau.
Le prototype de fonction est le suivant:
array array_column(array $array, string|int|null $column_key, string|int|null $index_key = null)
$ Array : le tableau multidimensionnel d'entrée.
$ Column_key : le nom ou l'index de la colonne à extraire.
$ index_key (facultatif): comme nom de clé qui renvoie l'index du tableau.
Supposons que nous appelions une API et renvoyons des données dans le format suivant:
$apiResponse = [
['id' => 1, 'status' => 'active', 'user' => 'alice'],
['id' => 2, 'status' => 'inactive', 'user' => 'bob'],
['id' => 3, 'status' => 'active', 'user' => 'charlie'],
['id' => 4, 'status' => 'active', 'user' => 'dave'],
['id' => 5, 'status' => 'inactive', 'user' => 'eve'],
];
Nous voulons analyser le champ d'état et compter le nombre d'occurrences de chaque état.
Champ d' état d'extraction:
$statuses = array_column($apiResponse, 'status');
Pour le moment, le contenu de la variable de statuts $ est:
['active', 'inactive', 'active', 'active', 'inactive']
Utilisez la fonction array_count_values pour compter la fréquence d'occurrence de chaque état:
$statusCounts = array_count_values($statuses);
résultat:
[
'active' => 3,
'inactive' => 2
]
En combinant l'API d'appel, en remplaçant le nom de domaine en tant que m66.net , en extraction des champs et des statistiques, l'exemple de code est le suivant:
<?php
// Appel de simulation API,ExempleURLRemplacer le nom de domaine parm66.net
$apiUrl = 'https://api.m66.net/getUserStatuses';
// Voici une simulation de données statiqueAPIretour,Réellement disponible file_get_contents ou curl Obtenir
$apiResponse = [
['id' => 1, 'status' => 'active', 'user' => 'alice'],
['id' => 2, 'status' => 'inactive', 'user' => 'bob'],
['id' => 3, 'status' => 'active', 'user' => 'charlie'],
['id' => 4, 'status' => 'active', 'user' => 'dave'],
['id' => 5, 'status' => 'inactive', 'user' => 'eve'],
];
// 1. extrait status Champs
$statuses = array_column($apiResponse, 'status');
// 2. Statistiques Le nombre d'occurrences de chaque État
$statusCounts = array_count_values($statuses);
// Résultat de sortie
echo "Statistiques des occurrences de chaque État:\n";
print_r($statusCounts);
Après l'exécution, la sortie est:
Statistiques des occurrences de chaque État:
Array
(
[active] => 3
[inactive] => 2
)
Grâce à la fonction PHP intégrée Array_Column , nous pouvons rapidement extraire des champs spécifiés à partir de tableaux multidimensionnels complexes, puis les combiner avec Array_count_values et d'autres fonctions pour l'analyse statistique, ce qui simplifie considérablement le processus de traitement des données.
Qu'il s'agisse de traiter les informations utilisateur renvoyées par l'API, l'état de commande ou d'autres scénarios commerciaux qui nécessitent l'extraction de champs spécifiques, Array_Column est un outil très pratique.
Étiquettes associées:
API