Maison > développement back-end > Problème PHP > Convertir plusieurs json en tableau en php

Convertir plusieurs json en tableau en php

王林
Libérer: 2023-05-11 11:56:36
original
577 Les gens l'ont consulté

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);
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal