現在、フロントエンドとバックエンドが分離されているため、Web アプリケーションの構築には JavaScript と PHP がよく使用されます。このうち、JavaScript はブラウザ側の対話ロジックを処理し、PHP はサーバー側言語としてデータ処理を担当します。データ転送プロセス中に、多くの場合、PHP 配列を JavaScript に渡すことが必要になります。
それでは、JavaScript で PHP 配列を取得するにはどうすればよいでしょうか?以下にいくつかの方法を詳しく紹介します。
最も一般的な方法は、PHP 配列を JSON 形式に変換し、JavaScript で解析することです。 PHP には、PHP 配列を JSON 形式に変換する json_encode()
関数が用意されています。この関数は、変換する必要がある PHP 配列をパラメータとして受け取り、JSON 形式の文字列を返します。
たとえば、PHP の配列は次のとおりです。
$phpArray = array( "name" => "张三", "age" => 18, "gender" => "男" );
配列を JSON 形式の文字列に変換します。
$jsonStr = json_encode($phpArray);
このとき、取得された $ jsonStr
文字列は次のとおりです:
{ "name": "张三", "age": 18, "gender": "男" }
次に、JavaScript で JSON.parse()
関数を使用して解析し、JavaScript オブジェクトを取得します:
var jsObject = JSON.parse('<?php echo $jsonStr ?>'); console.log(jsObject.name); //输出:张三
PHP 配列に中国語の文字が含まれている場合、正しく変換するには、json_encode()
関数の JSON_UNESCAPED_UNICODE
パラメータを設定する必要があることに注意してください。
もう 1 つの方法は、Ajax 非同期リクエストを使用してデータを取得することです。 jQuery は、PHP 配列データを取得するための非同期リクエストを送信するために使用できる $.ajax()
関数を提供します。
まず、PHP で json_encode()
関数を使用して、渡される配列を JSON 形式の文字列に変換し、echo
を使用して次のように出力します。 #
$phpArray = array( "name" => "张三", "age" => 18, "gender" => "男" ); $jsonStr = json_encode($phpArray); echo $jsonStr;次に、JavaScript で非同期リクエストを送信して、PHP によって渡されたデータを取得します。
$.ajax({ type: "GET", //请求方式 url: "test.php", //请求地址 dataType: "json", //返回数据格式 success: function(data) { console.log(data.name); //输出:张三 } });このうち、
dataType パラメーターは、応答データ ## の形式を指定します。 #success
パラメータはリクエスト成功コールバック関数です。 PHP 配列を JSON 形式の文字列に変換する場合は、その文字列が JSON 形式の仕様に準拠していることを確認してください。準拠していない場合は、Ajax を介したデータの取得が失敗する可能性があります。
3. 隠し要素メソッドを使用する
たとえば、PHP には次の配列があります:
$phpArray = array( "name" => "张三", "age" => 18, "gender" => "男" );
この配列は JSON 形式の文字列に変換し、隠し要素に保存できます:
<input type="hidden" id="phpArray" value='<?php echo json_encode($phpArray); ?>'>
次に、 JavaScript でこの隠し要素の値を取得し、それを JavaScript オブジェクトに変換します:
var jsonStr = $("#phpArray").val(); var jsObject = JSON.parse(jsonStr); console.log(jsObject.name); //输出:张三
JSON 形式の文字列を変換する場合、使用できるように引用符で囲む必要があることに注意してください。隠し要素に正しく保存されています。 JavaScript で非表示要素の値を取得する場合は、jQuery の
val() メソッドを使用する必要があります。 結論
実際のアプリケーションでは、特定のシナリオに応じて適切な方法を選択し、データ転送プロセス中にデータが正しい形式で処理および検証されて、データの安定性とセキュリティが保証されるようにする必要があります。プログラム。
以上がJavaScriptでPHP配列を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。