Dans le développement PHP, nous utilisons généralement le format Json (JavaScript Object Notation), qui est un format d'échange de données léger qui exprime les concepts sous une forme facile à lire pour les gens et qui convient également à l'analyse et à la génération automatiques. Dans le développement réel, nous pouvons rencontrer des situations dans lesquelles nous devons convertir plusieurs données Json en tableaux PHP, nous allons donc parler aujourd'hui de la façon d'implémenter cette fonction.
1. Convertir un seul Json en tableau
En PHP, nous utilisons la fonction json_decode() pour convertir les données au format Json en un tableau PHP, tel que :
$json_str = '{"name":"John", "age":30, "city":"New York"}'; $arr = json_decode($json_str, true);
Parmi eux, le deuxième paramètre true signifie convertir des données Json. dans un Array d'association, si aucun deuxième paramètre n'est ajouté, un objet sera généré.
2. Convertir plusieurs données Json en tableaux
Si vous devez convertir plusieurs données Json en tableaux PHP, nous pouvons utiliser le parcours de boucle pour convertir les données Json en tableaux une par une et les fusionner en un seul tableau. suit :
$json_arr = array( '{"name":"John", "age":30, "city":"New York"}', '{"name":"Jane", "age":25, "city":"Los Angeles"}', '{"name":"Tom", "age":40, "city":"Chicago"}' ); $data = array(); foreach($json_arr as $json_str) { $arr = json_decode($json_str, true); // 将Json数据转成数组 if(is_array($arr)) { // 如果转换成功,则将其合并到$data数组中 $data = array_merge($data, $arr); } } print_r($data);
Dans le code ci-dessus, nous définissons d'abord un tableau $json_arr contenant plusieurs données Json, puis convertissons chaque donnée Json en un tableau via un parcours de boucle, et enfin les fusionnons ensemble pour générer un tableau contenant toutes les données $ data.
Il convient de noter que si les données Json ne parviennent pas à être converties en tableau, elles ne seront pas fusionnées dans le tableau $data pour éviter les erreurs de données.
3. Utilisez la fonction array_map() pour convertir les données
En plus du parcours de boucle, nous pouvons également utiliser la fonction array_map() de PHP pour convertir plusieurs données Json en tableaux. Le code est le suivant :
$json_arr = array( '{"name":"John", "age":30, "city":"New York"}', '{"name":"Jane", "age":25, "city":"Los Angeles"}', '{"name":"Tom", "age":40, "city":"Chicago"}' ); // 将Json数据转换成数组 $callback = function($json_str) { $arr = json_decode($json_str, true); if(is_array($arr)) { return $arr; } }; $data = array_filter(array_map($callback, $json_arr)); // 过滤掉转换失败的数据 print_r($data);
Dans le code ci-dessus. , nous définissons une fonction $callback utilisée pour convertir les données Json en tableau. Ceci est ensuite passé en paramètre à la fonction array_map() pour transformer chaque élément du tableau $json_arr. Enfin, utilisez la fonction array_filter() pour filtrer les données qui n'ont pas pu être converties et obtenez un tableau $data contenant toutes les données.
Résumé :
Grâce aux deux méthodes ci-dessus, nous pouvons réaliser la fonction de conversion de plusieurs données Json en tableaux PHP. En développement réel, si vous devez traiter une grande quantité de données Json, il est recommandé d'utiliser la fonction array_map() car elle est plus rapide et le code est plus simple. Pendant l'utilisation, vous devez également faire attention à la vérification des données pour éviter les erreurs de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!