Maison > Article > développement back-end > Comment convertir un tableau php en tableau js
Comment convertir un tableau PHP en tableau JS : 1. Utilisez l'instruction foreach pour parcourir le tableau, avec la syntaxe "foreach($arr as $value){//loop body code}" 2 ; . Dans le corps de la boucle, passez json_encode() json encode chaque valeur du tableau, la syntaxe est "json_encode($value)" ; 3. Utilisez le caractère d'épissage "." en dehors de toutes les valeurs Le symbole "[]" suffit.
L'environnement d'exploitation de cet article : système Windows 7, PHP8, ordinateur Dell G3.
Utilisation JSON : convertir un tableau PHP en tableau JS, comment JS reçoit-il un tableau PHP
Téléchargez d'abord le fichier suivant (il s'agit d'un paragraphe écrit par quelqu'un d'autre spécifiquement pour analyser le code json) puis importez ce fichier !
http://pan.baidu.com/s/1dD8qVr7
Maintenant, quand nous devons utiliser ajax pour interagir avec l'arrière-plan, comment transférer le tableau php vers le fichier js et fusionner avec le fichier js ?
Regardez d'abord le fichier php. Après avoir obtenu le tableau $arr,
foreach ($arr as $value) { $json .= json_encode($value) . ','; } echo '[' . substr($json,0,strlen($json) - 1) . ']';
json_encode() doit encoder en json chaque valeur de $arr, puis nous voulons générer un tableau json. , nous ajoutons donc une virgule après chaque valeur compilée et ajoutons enfin '[]' en dehors de toutes les valeurs. Notez que parce que nous ajoutons un après chaque valeur, la virgule est codée en json. entraîne une virgule supplémentaire lorsque toutes les valeurs sont fusionnées dans le tableau, nous devons donc utiliser la fonction substr() pour supprimer la dernière virgule !
Ensuite regardons le fichier js
Quand on utilise arr pour recevoir le tableau json transféré par le fichier php
var json = JSON.parse(arr);
JSON est celui-là on commence à télécharger Un objet défini dans le fichier, on utilise sa méthode d'analyse pour convertir le tableau json en tableau js ! Il s'agit de la variable json qui reçoit un tableau js, elle ne peut donc pas être imprimée directement. Vous pouvez parcourir le tableau json ou json[0] pour sortir !
En fait, pour parler franchement, notre idée de convertir un tableau php en tableau js est d'utiliser la quantité intermédiaire de json pour y parvenir ! Bien sûr, vous pouvez également utiliser uniquement php et js pour convertir le tableau, il existe plusieurs méthodes !
Conversion entre le tableau PHP et Json
La raison pour laquelle Json est souvent utilisé est que lors de l'utilisation d'objets ajax, l'interaction du programme et des données entre 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 collection non ordonnée de "paires nom/valeur". 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 : l'objet et le tableau ne sont pas les mêmes lorsqu'ils sont appelés en JS. de même, 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 des fonctions intégrées : json_encode() et json_decode(). Il est facile de comprendre que json_encode() convertit un 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 :
Le code est le suivant :
{"name":"Eric"," age":23}
Regardez à nouveau l'exemple suivant :
$array = array(0 => "Eric", 1 => 23); echo json_encode($array);
Le programme imprimera : ["Eric",23]
Comme cela peut être vu des deux exemples ci-dessus, si PHP Si les clés du tableau sont toutes 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 transmis à une fonction JS, JS traitera le Json comme un objet et il est impossible pour un objet d'utiliser des nombres comme noms d'attribut. En d'autres termes, JS ne sait pas ce que c'est : user.0.username (le milieu est le chiffre zéro)
[Recommandé : "Tutoriel vidéo PHP"]
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!