PHP と JavaScript の間でのデータの受け渡しは Web 開発における重要なトピックであり、さまざまな方法が関係しますが、PHP と JS の両方が異なるデータ構造と言語機能を持っていることを考慮すると、配列の受け渡しは依然として重要な問題です。難しいかもしれません。ただし、いくつかのシンプルで効果的なトリックを使用すると、PHP と JS の間で配列を簡単に渡すことができます。この記事では、PHP から JS に配列を渡すためのいくつかのテクニックを紹介します。お役に立てれば幸いです。
方法 1: json_encode() を使用する
JSON は、Web アプリケーション間のデータ送信に広く使用されている軽量のデータ形式です。 PHP には、PHP 配列を JSON 形式にシリアル化し、それを JS に渡すことができる json_encode() という組み込み関数が用意されています。 JSON 形式はプレーン テキストであり、特定のロケールを必要としないため、解析と生成が非常に簡単です。以下は、 json_encode() メソッドを使用して配列を JSON 形式に変換する単純な PHP スクリプトです:
<?php $arr = array("apple", "banana", "orange"); $json = json_encode($arr); echo $json; ?>
これにより、次のような文字列が出力されます:
["apple","banana","orange"]
これで、JavaScript のビルドされたスクリプトを使用できるようになります。 -in JSON パーサー (JSON.parse()) で文字列を解析して JS 配列にします:
<script> var jsArray = JSON.parse('<?php echo $json; ?>'); </script>
方法 2: Ajax
Ajax (非同期 JavaScript および XML) は非同期 JavaScript および XML です。このテクノロジーを使用すると、ページ全体を更新することなく、サーバーに非同期リクエストを送信してデータを取得できます。 Ajaxを利用すると、PHPで処理した配列データをXML形式のデータにエクスポートし、Ajax経由でJSに渡すことができます。
まず、PHP を使用して配列を XML 形式の文字列に変換し、それを Ajax リクエストに返す必要があります。
<?php $arr = array("apple", "banana", "orange"); $xml = new SimpleXMLElement('<root/>'); array_walk_recursive($arr, array ($xml, 'addChild')); echo $xml->asXML(); ?>
JS では、Ajax (XMLHttpRequest オブジェクト) を使用する必要があります。 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>
方法 3: 隠しフィールドを使用する
この手法では、PHP 配列データを HTML ページに渡し、JS の隠しフィールドを使用してデータを取得します。 。 HTML フォーム要素 (input 要素など) にはすべて、いわゆる value 属性があり、フォームの送信時にサーバーに値を渡すことができます。同様に、配列データを HTML ページの非表示フィールドに渡し、JS 経由で取得することができます。隠しフィールドを使用する 1 つの方法は次のとおりです。
<?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>
この例では、PHP コードは配列内の値をカンマで区切って、それらを隠しフィールドの値として使用します。 JS では、value 属性を使用して値を抽出し、それを配列にグループ化できます。
方法 4: JavaScript 変数を使用する
この方法では、PHP 配列データを JavaScript コードに渡し、JavaScript 変数を使用して配列データを保存します。 PHP は配列データを JS コードの文字列として書き込み、ブラウザに出力します。 JS は文字列を使用して配列を生成できます。 JavaScript 変数の使用例を次に示します。
<?php $arr = array("apple", "banana", "orange"); $js_array = json_encode($arr); ?> <script> var jsArr = <?php echo $js_array; ?>; </script>
この例では、PHP は json_encode() メソッドを使用して配列を JSON 形式に変換し、それを JS コード文字列として書き込みます。 JS コードでは、jsArr 変数を直接使用して配列データを取得できます。
この記事では、PHP が配列を JS に渡す方法を簡単に紹介しました。 PHP から JS にデータを渡すにはさまざまな手法を使用できますが、最も一般的で実用的な方法の 1 つは、JSON JavaScript Object Notation を使用することです。 JSON を使用すると、PHP 配列を JS 配列に簡単に変換でき、PHP と JS 間のシームレスなデータ転送を実現できます。
以上がPHPで配列をjsに渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。