


Une introduction détaillée à l'utilisation de la fonction json_decode en php
Cet article vous apporte une introduction détaillée à l'utilisation de la fonction json_decode 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.
Nous savons tous que la fonction json_decode peut être utilisée pour décoder des chaînes au format JSON. Notre formulaire couramment utilisé est le suivant :
<?php $json = 'some_json_data'; $result = json_decode($json, true);
En fait, la fonction json_decode() a plusieurs paramètres. Selon les paramètres passés, le comportement de la fonction sera différent.
Données décodées
Vous avez peut-être vu la fonction json_decode() signaler l'erreur suivante :
Warning: json_decode() expects parameter 1 to be string, xxx given in
Selon le message d'erreur, Le le premier paramètre doit être de type string Cependant, en fait, le premier paramètre peut être des trois types suivants :
string
null.
bool
En fonction du type de paramètres, la valeur de retour de la fonction changera également.
Valeur de retour
La fonction json_decode() renverra un objet par défaut si analyse correctement les données JSON.
Mais une fois le deuxième paramètre passé dans true ou le quatrième paramètre passé dans JSON_OBJECT_AS_ARRAY, la fonction renverra un tableau au lieu d'un objet si les données JSON sont analysées correctement. Veuillez noter mon texte en gras. La fonction json_decode() renvoie un objet ou un tableau si les données JSON sont analysées correctement, mais dans certains cas, la fonction renverra d'autres données :- type de chaîne et correspond aux données au format JSON correct, après décodage, il renvoie un objet ou un tableau
- À partir de PHP 5.6, il y a vrai, faux et nul dans les données JSON, si non utilisé Au format minuscule, le décodage échouera et null
- la chaîne de type 'true', 'false', 'null' sera renvoyée (si toutes sont en minuscules)
- D'autres paramètres de type chaîne renvoient null
- true / false / null renvoient directement null
- Autres types Les données directement signale une erreur
- Lorsque la profondeur de récursion du troisième paramètre est 1, il renvoie directement null
Profondeur de récursion
Le troisième paramètre représente la récursion. Profondeur, la profondeur doit être supérieure à 0, sinon une erreur sera signalée. Lorsque la profondeur de récursion est de 1, le résultat est nul, donc la profondeur de récursion minimale est de 2.Options de décodage
Le quatrième paramètre est utilisé pour définir les options :remplira certains caractères vides , facile à visualiser
JSON_PRETTY_PRINT
Ne pas encoder
JSON_UNESCAPED_SLASHES
/
Ne pas encoder les caractères Unicode, la valeur par défaut est pour encoder
JSON_UNESCAPED_UNICODE
uXXXX
Gestion des erreurs
On peut aussi combiner la fonction json_last_error, json_last_error_msg(PHP >= 5.5) avec la fonction @opérateur :<?php $json = 'some_json_data'; $result = @json_decode((string)$json, true); if (json_last_error() !== JSON_ERROR_NONE) { throw new Exception(json_last_error_msg()); }
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

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Les membres du public sont accessibles à volonté; 2. Les membres privés ne sont accessibles que dans la classe; 3. Les membres protégés sont accessibles dans les classes et les sous-classes; 4. L'utilisation rationnelle peut améliorer la sécurité et la maintenabilité du code.

Utilisation de la méthode orientée objet MySQLI: établissez une connexion, prétraitez les instructions de mise à jour, liez les paramètres, exécutez et vérifiez les résultats, et enfin fermez la ressource. 2. À l'aide de la méthode de procédure MySQLI: Connectez-vous à la base de données via des fonctions, préparez des instructions, liez les paramètres, effectuez des mises à jour et fermez la connexion après le traitement des erreurs. 3. Utilisez PDO: Connectez-vous à la base de données via PDO, définissez le mode Exception, pré-processus SQL, paramètres de liaisons, effectuez des mises à jour, utilisez un coup d'essai pour gérer les exceptions et enfin publier des ressources. Utilisez toujours des instructions de prétraitement pour empêcher l'injection SQL, vérifier l'entrée de l'utilisateur et fermer les connexions dans le temps.

Pour afficher les fuseaux horaires pris en charge par le système, vous pouvez adopter les méthodes suivantes en fonction des différentes plates-formes: 1. Linux / MacOS utilise la commande TimeDatectLlist-TimeZones pour répertorier tous les fuseaux horaires et peut être filtré avec Grep; 2. Windows utilise une invite de commande pour exécuter Tzutil / L ou PowerShell pour exécuter Get-TimeZone-Listavailable; 3. Dans Python, vous pouvez obtenir le fuseau horaire pris en charge par ZoneInfo via pytz.all_timezones ou accéder à la base de données IANA; 4. D'autres outils tels que Java utilisent ZoneId.GetAvailableZoneId (), Node

ToreadacsvFileInphp, useFopen () toopenthefile, fGetcsv () inalooptoreADEACHROWASANArray, etfclose () tocloseit; mancheheaders withaseparatefgetcsv () callandspecifydelimitersasneeded, assurantproperfilepathsandutf-8encodingforspecialcharracters.

AjaxwithphPenablesDynamicwebappsBySendingasynchronousRequestsWithoutPageReloads.1.CreateHtmlWithJavaScriptUsingFetch () ToSendd ATA.2.BuildaphPScriptToprocessSpostDataAndreturn Responses.3.UsejsonforComplexDatahandling.4.

CurLinphPenableSendingHttpRequests, Fetchingapidata, anduploadingfiles.Initializewithcurl_init (), setOptionslikecurlopt_urlandc URLOPT_RETURNTRANSFER, USECURLOPT_POSTFORPOSTRESQUESS, SENDJSONWITHPROPERHEDER

isset () CheckSiSifavariableExistsandisnotNull, returningtrueevenforzero, false, omptyStringValues; 2.Empty () checkSifavariableSnull, false, 0, "0", "", ORUNDEFINED, RETOURDINGTRUEFORTHESE "Falsy

L'édition de signets de Chrome est simple et pratique. Les utilisateurs peuvent saisir le gestionnaire de signets via les touches de raccourci Ctrl Shift O (Windows) ou CMD Shift O (Mac), ou entrer dans le menu du navigateur; 1. Lors de la modification d'un seul signet, cliquez avec le bouton droit pour sélectionner "Modifier", modifiez le titre ou l'URL et cliquez sur "Terminer" pour enregistrer; 2. Lorsque vous organisez des signets par lots, vous pouvez maintenir CTRL (ou CMD) dans des signets à choix multiples dans le gestionnaire de signets, cliquez avec le bouton droit pour sélectionner "passer à" ou "Copier" le dossier cible; 3. Lors de l'exportation et de l'importation de signets, cliquez sur le bouton "Résoudre" pour sélectionner "Exporter Bookmark" pour enregistrer en tant que fichier HTML, puis restaurer la fonction "Importer Bookmark" si nécessaire.
