Le transfert de données entre PHP et JavaScript est un sujet important dans le développement Web, qui implique une variété de méthodes différentes, mais le passage de tableaux reste un problème important, étant donné que PHP et JS ont des structures de données et des langages différents. difficile. Cependant, en utilisant quelques astuces simples et efficaces, vous pouvez facilement transmettre des tableaux entre PHP et JS. Dans cet article, je vais vous présenter plusieurs techniques pour passer des tableaux de PHP vers JS, j'espère que cela vous sera utile.
Méthode 1 : utilisez json_encode()
JSON est un format de données léger largement utilisé pour la transmission de données entre les applications Web. PHP fournit une fonction intégrée appelée json_encode(), qui peut sérialiser un tableau PHP au format JSON puis le transmettre à JS. Le format JSON est très facile à analyser et à générer car il s'agit de texte brut et ne nécessite aucun paramètre régional spécifique. Vous trouverez ci-dessous un simple script PHP qui convertit un tableau au format JSON à l'aide de la méthode json_encode() :
<?php $arr = array("apple", "banana", "orange"); $json = json_encode($arr); echo $json; ?>
Cela produira une chaîne similaire à :
["apple","banana","orange"]
Maintenant, vous pouvez utiliser l'analyseur JSON intégré de JavaScript ( JSON.parse( )) Analyse la chaîne dans un tableau JS :
<script> var jsArray = JSON.parse('<?php echo $json; ?>'); </script>
Méthode 2 : Utiliser Ajax
Ajax (JavaScript et XML asynchrones) est une technologie JavaScript et XML asynchrone qui vous permet d'envoyer une requête asynchrone au serveur pour obtenir des données sans avoir à le faire. pour actualiser la page entière. Lorsque vous utilisez Ajax, vous pouvez exporter les données du tableau traitées par PHP au format XML et les transmettre à JS via Ajax.
Tout d'abord, vous devez convertir le tableau en chaîne au format XML à l'aide de PHP, puis le renvoyer à la requête Ajax :
<?php $arr = array("apple", "banana", "orange"); $xml = new SimpleXMLElement('<root/>'); array_walk_recursive($arr, array ($xml, 'addChild')); echo $xml->asXML(); ?>
En JS, vous devez utiliser Ajax (objet XMLHttpRequest) pour obtenir les données au format XML :
<script> var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var xmlDoc = this.responseXML; var jsArray = Array.from(xmlDoc.getElementsByTagName("root")[0].childNodes).map(function(node){return node.firstChild.nodeValue;}); } }; xhttp.open("GET", "array_to_xml.php", true); xhttp.send(); </script>
Méthode 3 : Utiliser des champs cachés
Cette technique consiste à transmettre les données du tableau PHP à la page HTML, puis à utiliser des champs cachés dans JS pour obtenir les données. Les éléments de formulaire HTML (par exemple, les éléments d'entrée) ont tous un attribut dit de valeur, qui vous permet de transmettre une valeur au serveur lorsque le formulaire est soumis. De même, vous pouvez transmettre les données du tableau dans un champ caché de la page HTML et les obtenir via JS. Voici une façon d'utiliser les champs cachés :
<?php $arr = array("apple", "banana", "orange"); ?> <input type="hidden" id="php_array" value="<?php echo implode(",", $arr); ?>"> <script> var jsArr = document.getElementById("php_array").value.split(","); </script>
Dans cet exemple, le code PHP sépare les valeurs du tableau par des virgules puis l'utilise comme valeur du champ caché. En JS, vous pouvez utiliser l'attribut value pour extraire la valeur et la regrouper dans un tableau.
Méthode 4 : Utilisation de variables JavaScript
Cette méthode consiste à transmettre les données du tableau PHP au code JavaScript et à utiliser des variables JavaScript pour stocker les données du tableau. PHP écrit les données du tableau sous forme de chaîne de code JS, puis les envoie au navigateur. JS peut utiliser la chaîne pour générer un tableau. Voici un exemple utilisant des variables JavaScript :
<?php $arr = array("apple", "banana", "orange"); $js_array = json_encode($arr); ?> <script> var jsArr = <?php echo $js_array; ?>; </script>
Dans cet exemple, PHP utilise la méthode json_encode() pour convertir le tableau au format JSON puis l'écrit sous forme de chaîne de code JS. Le code JS peut utiliser directement la variable jsArr pour obtenir des données de tableau.
Dans cet article, nous avons brièvement présenté comment PHP transmet les tableaux à JS. Vous pouvez utiliser diverses techniques pour transmettre des données de PHP vers JS, mais l'une des méthodes les plus populaires et les plus pratiques consiste à utiliser la notation d'objet JavaScript JSON. JSON vous permet de convertir facilement des tableaux PHP en tableaux JS et vous aide à réaliser un transfert de données transparent entre PHP et JS.
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!