Heim > Backend-Entwicklung > PHP-Problem > So übergeben Sie ein Array in PHP an js

So übergeben Sie ein Array in PHP an js

PHPz
Freigeben: 2023-04-20 09:43:02
Original
1020 Leute haben es durchsucht

Die Datenübergabe zwischen PHP und JavaScript ist ein wichtiges Thema in der Webentwicklung, die eine Vielzahl verschiedener Methoden umfasst. Die Übergabe von Arrays ist jedoch immer noch ein wichtiges Thema, wenn man bedenkt, dass sowohl PHP als auch JS unterschiedliche Datenstrukturen und Sprachfunktionen haben. Dieses Problem kann auftreten knifflig. Mit einigen einfachen und effektiven Tricks können Sie jedoch problemlos Arrays zwischen PHP und JS übergeben. In diesem Artikel stelle ich Ihnen verschiedene Techniken zum Übergeben von Arrays von PHP an JS vor und hoffe, dass es Ihnen hilfreich sein wird.

Methode 1: Verwenden Sie json_encode()

JSON ist ein leichtes Datenformat, das häufig für die Datenübertragung zwischen Webanwendungen verwendet wird. PHP bietet eine integrierte Funktion namens json_encode(), die ein PHP-Array in das JSON-Format serialisieren und dann an JS übergeben kann. Das JSON-Format ist sehr einfach zu analysieren und zu generieren, da es sich um einfachen Text handelt und kein bestimmtes Gebietsschema erforderlich ist. Unten ist ein einfaches PHP-Skript, das die Methode json_encode() verwendet, um ein Array in das JSON-Format zu konvertieren:

<?php
    $arr = array("apple", "banana", "orange");
    $json = json_encode($arr);
    echo $json;
?>
Nach dem Login kopieren

Dadurch wird eine Zeichenfolge ähnlich der folgenden ausgegeben:

["apple","banana","orange"]
Nach dem Login kopieren

Jetzt können Sie den in JavaScript integrierten JSON-Parser ( JSON.parse) verwenden ()) Analysiert die Zeichenfolge in ein JS-Array:

<script>
    var jsArray = JSON.parse('<?php echo $json; ?>');
</script>
Nach dem Login kopieren

Methode 2: Ajax verwenden

Ajax (Asynchrones JavaScript und XML) ist eine asynchrone JavaScript- und XML-Technologie, mit der Sie eine asynchrone Anfrage an den Server senden können, um Daten ohne zu erhalten die gesamte Seite aktualisieren zu müssen. Wenn Sie Ajax verwenden, können Sie die von PHP verarbeiteten Array-Daten in Daten im XML-Format exportieren und über Ajax an JS übergeben.

Zuerst müssen Sie das Array mit PHP in eine XML-formatierte Zeichenfolge konvertieren und es dann an die Ajax-Anfrage zurückgeben:

<?php
    $arr = array("apple", "banana", "orange");

    $xml = new SimpleXMLElement(&#39;<root/>');
    array_walk_recursive($arr, array ($xml, 'addChild'));
    echo $xml->asXML();
?>
Nach dem Login kopieren

In JS müssen Sie Ajax (XMLHttpRequest-Objekt) verwenden, um die XML-formatierten Daten zu erhalten:

<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>
Nach dem Login kopieren

Methode 3: Versteckte Felder verwenden

Diese Technik besteht darin, PHP-Array-Daten an die HTML-Seite zu übergeben und dann versteckte Felder in JS zu verwenden, um die Daten abzurufen. HTML-Formularelemente (z. B. Eingabeelemente) verfügen alle über ein sogenanntes Wertattribut, mit dem Sie beim Absenden des Formulars einen Wert an den Server übergeben können. Ebenso können Sie Array-Daten in ein verstecktes Feld auf der HTML-Seite übergeben und diese über JS abrufen. Hier ist eine Möglichkeit, versteckte Felder zu verwenden:

<?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>
Nach dem Login kopieren

In diesem Beispiel trennt der PHP-Code die Werte im Array durch Kommas und verwendet sie dann als Wert des versteckten Felds. In JS können Sie das Wertattribut verwenden, um den Wert zu extrahieren und ihn in einem Array zu gruppieren.

Methode 4: Verwendung von JavaScript-Variablen

Diese Methode besteht darin, PHP-Array-Daten an JavaScript-Code zu übergeben und JavaScript-Variablen zum Speichern der Array-Daten zu verwenden. PHP schreibt die Array-Daten als String aus JS-Code und gibt sie dann an den Browser aus. JS kann die Zeichenfolge verwenden, um ein Array zu generieren. Hier ist ein Beispiel mit JavaScript-Variablen:

<?php
    $arr = array("apple", "banana", "orange");
    $js_array = json_encode($arr);
?>
<script>
    var jsArr = <?php echo $js_array; ?>;
</script>
Nach dem Login kopieren

In diesem Beispiel verwendet PHP die Methode json_encode(), um das Array in das JSON-Format zu konvertieren und schreibt es dann als JS-Codezeichenfolge. JS-Code kann die Variable jsArr direkt verwenden, um Array-Daten abzurufen.

In diesem Artikel haben wir kurz vorgestellt, wie PHP Arrays an JS übergibt. Sie können verschiedene Techniken verwenden, um Daten von PHP an JS zu übergeben, aber eine der beliebtesten und praktischsten Methoden ist die Verwendung der JSON-JavaScript-Objektnotation. Mit JSON können Sie PHP-Arrays einfach in JS-Arrays konvertieren und eine nahtlose Datenübertragung zwischen PHP und JS erreichen.

Das obige ist der detaillierte Inhalt vonSo übergeben Sie ein Array in PHP an js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage