Convertir les données php json en tableau
En PHP, nous devons parfois convertir les données JSON au format tableau pour le traitement. À l’heure actuelle, nous pouvons utiliser la fonction json_decode() pour convertir les données JSON en un tableau PHP. Cet article explique comment utiliser la fonction json_decode() pour convertir des données JSON en tableau et répond à quelques questions courantes.
JSON est un format d'échange de données léger qui est largement utilisé pour transmettre des données en raison de ses avantages d'être simple à comprendre, facile à utiliser et facile à étendre. PHP est un langage de programmation faiblement typé, efficace, rapide, facile à apprendre et à utiliser. Le format JSON étant supporté nativement par PHP, il est très pratique d'utiliser PHP pour traiter les données JSON pendant le développement.
Utilisez la fonction json_decode() pour convertir des données JSON en tableau
Ce qui suit est un exemple de code pour convertir des données JSON en tableau :
$json = '{"name":"Tom","age":"20","sex":"male"}'; $arr = json_decode($json, true); var_dump($arr);
Résultat de sortie :
array(3) { ["name"]=> string(3) "Tom" ["age"]=> string(2) "20" ["sex"]=> string(4) "male" }
Comme vous pouvez le voir, la fonction json_decode() convertit les données JSON en un tableau PHP. Le deuxième paramètre de cette fonction peut être défini sur true ou false, qui renvoie un tableau associatif lorsqu'il est défini sur true, ou un objet lorsqu'il est défini sur false ou non défini.
Ce qui suit est un exemple de code pour renvoyer un objet :
$json = '{"name":"Tom","age":"20","sex":"male"}'; $obj = json_decode($json); var_dump($obj);
Résultat de sortie :
object(stdClass)#1 (3) { ["name"]=> string(3) "Tom" ["age"]=> string(2) "20" ["sex"]=> string(4) "male" }
Lors de l'analyse d'une chaîne JSON, si vous constatez que l'encodage des caractères n'est pas UTF-8, vous devez le convertir en UTF-8 encodage :
$json = '{"name":"Tom","age":"20","sex":"male"}'; $json = mb_convert_encoding($json, 'UTF-8', 'auto'); // 将编码转换为 UTF-8 $arr = json_decode($json, true); var_dump($arr);
FAQ
1. Comment gérer les erreurs d'analyse JSON ?
Pendant le processus de traitement des données JSON, des erreurs d'analyse peuvent survenir en raison de problèmes de format de données JSON ou de problèmes de format d'encodage. À ce stade, vous pouvez utiliser la fonction json_last_error() pour obtenir la cause de l'erreur d'analyse. Cette fonction renvoie un nombre représentant le type d'erreur d'analyse JSON. Voici la définition du type d'erreur :
- JSON_ERROR_NONE : Aucune erreur, analyse réussie.
- JSON_ERROR_DEPTH : Les données JSON sont trop complexes et dépassent la profondeur maximale définie.
- JSON_ERROR_STATE_MISMATCH : Le format des données JSON est incorrect.
- JSON_ERROR_CTRL_CHAR : Il y a un caractère de contrôle incorrect.
- JSON_ERROR_SYNTAX : Il y a une erreur de syntaxe dans les données JSON.
- JSON_ERROR_UTF8 : les données JSON ne sont pas codées en UTF-8.
Utilisez le code suivant pour obtenir la cause de l'erreur d'analyse :
$json = '{"name": "Tom""age": "20"}'; // 注意,这里有错误 $arr = json_decode($json, true); if (json_last_error() !== JSON_ERROR_NONE) { switch (json_last_error()) { case JSON_ERROR_DEPTH: echo 'JSON 数据过于复杂,超出了设置的最大深度'; break; case JSON_ERROR_STATE_MISMATCH: echo 'JSON 数据格式不正确'; break; case JSON_ERROR_CTRL_CHAR: echo 'JSON 数据中有不正确的控制字符'; break; case JSON_ERROR_SYNTAX: echo 'JSON 数据存在语法错误'; break; case JSON_ERROR_UTF8: echo 'JSON 数据不是 UTF-8 编码'; break; default: echo '未知的 JSON 解析错误'; break; } } var_dump($arr);
Résultat de sortie :
JSON 数据存在语法错误 NULL
Comme indiqué ci-dessus, la fonction json_last_error() peut facilement obtenir la cause de l'erreur d'analyse, afin de trouver rapidement la problème.
2. Comment gérer le problème du format JSON non standard ?
En utilisation réelle, certaines données JSON peuvent ne pas être dans le format le plus standardisé, comme l'utilisation d'une virgule après la dernière valeur d'attribut. Si vous utilisez la fonction json_decode() pour analyser ces données JSON, NULL sera renvoyé. À ce stade, nous pouvons utiliser une bibliothèque tierce pour le traitement.
Ce qui suit est un exemple de code qui utilise la bibliothèque json5 pour gérer le format non canonique JSON :
// 首先,安装 json5 库 // composer require symfony/polyfill-mbstring // composer require webonyx/json5 $json = '{"name": "Tom", "age": 20, }'; // 注意,这里有错误 use Json5Parser; $parser = new Parser(); $arr = $parser->decode($json); var_dump($arr);
Résultat de sortie :
array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) }
Comme indiqué ci-dessus, l'utilisation de la bibliothèque json5 peut facilement gérer le problème du format non canonique JSON.
3. Comment gérer le problème de l'accès inter-domaines aux données JSON ?
Le problème de l'accès inter-domaines aux données JSON signifie que pour des raisons de sécurité, le navigateur interdit au front-end d'accéder aux ressources d'autres domaines via des requêtes ajax dans une requête ajax. À ce stade, nous devons effectuer quelques réglages.
Ce qui suit est un exemple de code permettant d'utiliser PHP pour obtenir un accès inter-domaines :
header('Access-Control-Allow-Origin: *'); // 允许所有域名访问 header('Content-Type: application/json'); $json = '{"name": "Tom", "age": 20, "sex": "male"}'; echo $json;
Comme indiqué ci-dessus, la définition de l'en-tête Access-Control-Allow-Origin en PHP permet un accès inter-domaines à partir d'autres noms de domaine.
Conclusion
Jusqu'à présent, nous avons présenté comment utiliser la fonction json_decode() pour convertir les données JSON en un tableau et comment résoudre certains problèmes courants rencontrés lors du traitement des données JSON. J'espère que cet article pourra être utile à tout le monde.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

L'article discute de la récupération des données des bases de données à l'aide de PHP, couvrant les étapes, les mesures de sécurité, les techniques d'optimisation et les erreurs communes avec des solutions. COMMANDE CHAPITRE: 159

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Les déclarations préparées dans PHP améliorent la sécurité et l'efficacité de la base de données en empêchant l'injection SQL et en améliorant les performances de la requête par compilation et réutilisation. Compilation de caractéristiques: 159

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main
