Maison  >  Article  >  développement back-end  >  php convertit le tableau en tableau json

php convertit le tableau en tableau json

PHPz
PHPzoriginal
2023-04-14 19:01:16118parcourir

PHP est un langage de script côté serveur populaire utilisé pour développer des applications Web. Dans le processus de développement d’applications web, il est souvent nécessaire de renvoyer les données au front-end au format JSON. En PHP, la conversion des types de données brutes en JSON est très pratique. Cet article explique comment convertir un tableau en tableau JSON en PHP.

  1. Utilisez la fonction json_encode()
    En PHP, utilisez la fonction json_encode() pour convertir un tableau au format JSON. Cette fonction reçoit un paramètre, qui est le tableau à convertir, et la valeur de retour est une chaîne au format JSON.

Ce qui suit est un exemple de code qui utilise la fonction json_encode() pour convertir un tableau en tableau JSON :

<code><?php
$arr = array('name' => '张三', 'age' => 20, 'gender' => '男');
echo json_encode($arr);
?></code>

L'exécution du code ci-dessus produira les résultats suivants :

<code>{"name":"\u5f20\u4e09","age":20,"gender":"\u7537"}</code>

Comme vous pouvez le voir, le code ci-dessus a a réussi à convertir le tableau en tableau JSON. La fonction json_encode() échappe tous les caractères Unicode pour garantir que les données JSON générées sont légales.

  1. Traitement des caractères chinois
    Dans les applications pratiques, il est souvent nécessaire de traiter les caractères chinois, et lorsque la fonction json_encode() de PHP traite les caractères chinois, elle convertira les caractères chinois en caractères Unicode, ce qui provoquera des recherches dans les données JSON. Personnages hostiles.

Afin de résoudre ce problème, vous pouvez ajouter le paramètre JSON_UNESCAPED_UNICODE à la fonction json_encode(). Ce paramètre indique à la fonction json_encode() de ne pas échapper aux caractères chinois, conservant ainsi les caractères chinois d'origine.

Ce qui suit est un exemple de code qui utilise le paramètre JSON_UNESCAPED_UNICODE pour convertir un tableau en tableau JSON :

<code><?php
$arr = array('name' => '张三', 'age' => 20, 'gender' => '男');
echo json_encode($arr, JSON_UNESCAPED_UNICODE);
?></code>

L'exécution du code ci-dessus produira les résultats suivants :

<code>{"name":"张三","age":20,"gender":"男"}</code>

Vous pouvez voir qu'après avoir utilisé le paramètre JSON_UNESCAPED_UNICODE, le chinois les caractères du tableau JSON ont été codés en caractères chinois originaux.

  1. Traitement de tableaux multidimensionnels
    Dans les applications pratiques, il est parfois nécessaire de convertir des tableaux multidimensionnels en tableaux JSON.

Nous devons donc utiliser une fonction récursive pour d'abord déterminer si la valeur actuelle est un tableau. S'il s'agit d'un tableau, appelez la fonction de manière récursive jusqu'à ce que la valeur actuelle ne soit pas un tableau.

Ce qui suit est un exemple de code pour convertir un tableau multidimensionnel en tableau JSON :

<code><?php
$arr = array(
    array('name' => '张三', 'age' => 20, 'gender' => '男'),
    array('name' => '李四', 'age' => 22, 'gender' => '女'),
    array('name' => '王五', 'age' => 24, 'gender' => '男')
);
echo json_encode($arr, JSON_UNESCAPED_UNICODE);

function array_to_json($array) {
    if (!is_array($array)) {
        return null;
    }
    $json = '[';
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $value = array_to_json($value);
        } else {
            $value = json_encode($value, JSON_UNESCAPED_UNICODE);
        }
        if ($json != '[') {
            $json .= ',';
        }
        $json .= $value;
    }
    $json .= ']';
    return $json;
}

$new_arr = array(
    'name' => '张三',
    'info' => array(
        'age' => 20,
        'address' => array(
            'province' => '广东省',
            'city' => '深圳市'
        )
    )
);
echo array_to_json($new_arr);
?></code>

Exécutez le code ci-dessus et les résultats suivants seront affichés :

<code>[{"name":"张三","age":20,"gender":"男"},{"name":"李四","age":22,"gender":"女"},{"name":"王五","age":24,"gender":"男"}]
{"name":"张三","info":{"age":20,"address":{"province":"\u5e7f\u4e1c\u7701","city":"\u6df1\u5733\u5e02"}}}</code>

Vous pouvez voir que le tableau multidimensionnel est converti avec succès dans un tableau JSON via la fonction array_to_json().

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!

Déclaration:
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