Maison > Article > développement back-end > Introduction à l'utilisation de json_encode en PHP
Cet article vous présente comment utiliser json_encode en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Supposons qu'il existe une telle URL
$url = "https://www.baidu.com?key=你好";$data = ["url" => $url];echo json_encode($data);
et que nous obtenions un tel résultat
{"url":"https:\/\/www.baidu.com?key=\u4f60\u597d"}
Tout d'abord, j'ai découvert que le chinois a été codé et transformé en hexadécimal. Ce n'est pas du code tronqué. C'est juste que la méthode simple et pratique a changé, car il suffit de désérialiser directement pour obtenir le résultat original, comme suit :
//代码$jsonStr = '{"url":"https:\/\/ $data = json_decode($jsonStr); print_r($data);//输出stdClass Object ( [url] => https://www.baidu.com?key=你好)
On peut voir que c'est le cas. pas de code tronqué, alors parlons du sujet, même si ce n'est pas du code tronqué, mais voyant que l'hexadécimal affecte toujours la lecture
Vous pouvez ajouter un paramètre dans json_encode
//代码 $url = "https://www.baidu.com?key=你好";$data = ["url" => $url]; echo json_encode($data, JSON_UNESCAPED_UNICODE); //输出 {"url":"https:\/\/www.baidu.com?key=你好"}
et a constaté que le chinois peut être affiché normalement, mais il y a un autre problème: les barres obliques inverses sont automatiquement. Les caractères d'échappement
semblent assez inconfortables. Existe-t-il un moyen de supprimer les caractères d'échappement
//代码 $url = " $data = ["url" => $url]; echo json_encode($data, JSON_UNESCAPED_SLASHES); //输出 {"url":"https://www.baidu.com?key=\u4f60\u597d"}Maintenant, les caractères d'échappement ont été supprimés, mais les caractères chinois ont à nouveau changé. Ils ont été convertis en hexadécimaux. Je souhaite supprimer les caractères d'échappement et afficher le chinois normalement Inspiré par une autorisation de type *nix. gestion, j'ai découvert que je pouvais utiliser l'opération XOR
//代码$url = " $data = ["url" => $url]; echo json_encode($data, JSON_UNESCAPED_UNICODE ^ JSON_UNESCAPED_SLASHES); //输出 {"url":"https://www.baidu.com?key=你好"}Terminé. De plus, En raison de la nature particulière des valeurs
|JSON_UNESCAPED_UNICODE
, car elles sont toutes obtenues via JSON_UNESCAPED_SLASHES
, non seulement les opérations XOR peuvent être utilisées , Vous pouvez également utiliser l'addition directement 1 << n (n为一个整数)
//该等式为true((1<<1) ^ (1<<2)) === ((1<<1) + (1<<2))Articles connexes recommandés :
Explication détaillée de l'espace de noms en PHP
Que diriez-vous php Utilisez curl pour recevoir l'adresse POST et créer une méthode d'interface
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!