Maison  >  Article  >  développement back-end  >  Tableau PHP convertir la chaîne JSON

Tableau PHP convertir la chaîne JSON

韦小宝
韦小宝original
2018-05-14 14:17:175703parcourir

La raison pour laquelle json est utilisé dans notre développement PHP est que les objets ajax sont souvent utilisés pour interagir avec les données entre les programmes et les fonctions JS. Parce que JS ne reconnaît pas les tableaux en PHP, PHP ne reconnaît pas les tableaux ou les objets dans JS. Json résout très bien ce problème.

Introduction à Json

JSON (JavaScript Object Notation) est un format d'échange de données léger. Il est basé sur un sous-ensemble de JavaScript, ce qui signifie que JavaScript peut lire directement Json, ce qui est très pratique. La forme spécifique de

Json est :

1 Objet

L'objet est une "paire 'nom/valeur'" non ordonnée. rassembler. Un objet commence par "{" (crochet gauche) et se termine par "}" (crochet droit). Chaque "nom" est suivi d'un ":" (deux-points) ; les paires "nom/valeur" sont séparées par un "," (virgule).

Par exemple : {"username": "Eric","age":23,"sex": "man">

Exemple de code :

<script type="text/javascript">   function getUser() {
        var user = {
            "username": "Eric",
            "age": 23,
            "family": {"mother": "Marry", "father": "Alon", "brother": "Tom"}
        };
        alert(user.username);
        alert(user.age);
        alert(user.family.brother);
    }
    getUser();   </script>

2. Tableau

Un tableau est une collection ordonnée de valeurs. Un tableau commence par "[" (crochet gauche) et se termine par "]" (crochet droit). Les valeurs sont séparées par "," (virgule).

Par exemple : ["Eric",23, "man"]

Exemple de code :

<script type="text/javascript">   function getArray() {
        var arr = ["Jarry", 23, ["www.xiaophper.com", "wxyh_999@126.com"]];
        alert(arr[0]);
        alert(arr[1]);
        alert(arr[2][0]);
        alert(arr[2][1]);
    }
    getArray();   </script>

Remarque : les formes d'objet et de tableau sont appelées en JS. différent maintenant. Les objets sont appelés avec "." et les tableaux sont appelés avec les indices [0] et [1]. Notez également que les valeurs de type chaîne doivent être placées entre guillemets lors du passage de chaînes Json.

Convertir un tableau en Json en PHP

Le puissant PHP a fourni fonctions intégrées  : json_encode() et json_decode() . Il est facile de comprendre que json_encode() convertit le tableau PHP en Json. Au contraire, json_decode() convertit Json en tableau PHP.

Par exemple :

$array = array("name" => "Eric","age" => 23); 
echo json_encode($array);

Le programme affichera : {"name":"Eric","age":23}

Regardez l'exemple suivant encore une fois :

$array = array(0 => "Eric", 1 => 23); 
echo json_encode($array);

Le programme affichera : ["Eric",23]

Comme le montrent les deux exemples ci-dessus, si les clés du tableau PHP sont tous des nombres, alors json_encode() Renvoie Json sous la forme d'un tableau, si les clés du tableau PHP sont toutes des chaînes . Ensuite, json_encode() renverra Json sous la forme d'un objet. Je viens de le dire. Les deux appels en js sont différents.
En fait, tant qu'il y a une clé sous forme de chaîne dans la clé du tableau PHP, alors json_encode() renverra Json sous forme d'objet. C'est incorrect. Parce que, même si aucune erreur ne se produira dans le code PHP, si un tel Json est passé à une fonction JS, JS traitera ce Json comme un objet, et il est impossible pour un objet d'utiliser des nombres comme attributs. Célèbre. En d'autres termes, JS ne sait pas ce que c'est : user.0.username (le milieu est le chiffre zéro)

Lecture similaire :

Utilisation de JSON en php Convertir avec

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