フロントエンドとバックエンドの分離の傾向が強まるにつれ、フロントエンドがバックエンドと対話する必要があるケースがますます増えています。この場合、フロントエンドはバックエンドによって処理されたデータを取得できる必要があり、バックエンドは通常、データを配列の形式で返します。したがって、PHP の配列をどのように JS に渡すかが非常に重要な問題になります。
この記事では、読者がフロントエンドおよびバックエンドのデータを操作するときにバックエンドから返されたデータをより簡単に取得して処理できるように、PHP 配列を送信する一般的な方法をいくつか紹介します。具体的な方法は次のとおりです。
方法 1: JSON を使用する
現在、フロントエンドとバックエンドのデータ対話の最も一般的なソリューションは、JSON を使用することです。 JSON (JavaScript Object Notation) は、読み書きが簡単で、マシンによる解析と生成が容易な軽量のデータ交換形式であり、データ交換に非常に適しています。 PHP には、PHP 配列を JSON 形式に変換し、AJAX テクノロジを使用してフロントエンドに転送し、JSON.parse() を使用して JavaScript が直接操作できるオブジェクトに変換できる組み込み関数 json_encode() があります。 。
PHP コードを使用して配列を JSON に変換します:
$myArray = array("name" => "Tom", "age" => "18", "gender" => "male"); $json = json_encode($myArray);
フロントエンドで AJAX を使用して JSON データを取得します:
var request = new XMLHttpRequest(); request.open('GET', 'my_array.php', true); request.onload = function() { if (request.status >= 200 && request.status < 400) { var data = JSON.parse(request.responseText); console.log(data); } else { console.log("Error!"); } }; request.send();
上記のコードでは、XMLHttpRequest を使用します。オブジェクトを使用してサーバーからデータをリクエストし、JSON.parse() メソッドを使用して取得した JSON 形式の文字列を JavaScript オブジェクトに変換します。
方法 2: Serialize() と unserialize() を使用する
データ送信時にデータ構造を考慮する必要がない場合、serialize() 関数と unserialize() 関数は 1 つになります。悪い選択ではありません。
serialize() 関数は変数を文字列にシリアル化し、unserialize() 関数は文字列を元のデータ型に復元できます。 PHP では、serialize() を使用して配列を文字列にシリアル化し、AJAX を使用してデータを取得し、それを逆シリアル化できます。
PHP コードを使用して配列をシリアル化します:
$myArray = array("name" => "Tom", "age" => "18", "gender" => "male"); $serializedData = serialize($myArray);
フロントエンドで AJAX を使用してシリアル化された文字列を取得します:
var request = new XMLHttpRequest(); request.open('GET', 'my_array.php', true); request.onload = function() { if (request.status >= 200 && request.status < 400) { var data = request.responseText; console.log(data); } else { console.log("Error!"); } }; request.send();
次に、unserialize() メソッドを使用できます。これは、PHP オブジェクトに逆シリアル化されます。
$unserializedData = unserialize($serializedData); print_r($unserializedData);
方法 3: HTML5 データ -* 属性を使用する
いくつかの単純なデータを送信するだけでよく、AJAX リクエストを使用する必要がない場合は、次のようになります。 PHP 配列は、HTML5 の data- 属性を介してフロントエンドに渡すことができます。 data- 属性は、フロントエンドでデータ バインディングを実装するためにページ要素のカスタム データを保存するために使用できるカスタム属性です。まず HTML 要素に data-* 属性を定義し、次に PHP でデータを JSON 形式の文字列に変換し、最後に PHP を使用してそれをページに出力します。
PHP コードを使用して配列を JSON に変換し、data-* 属性に出力します。
$myArray = array("name" => "Tom", "age" => "18", "gender" => "male"); $json = json_encode($myArray); echo 'This is my div';
次に、JavaScript を通じてこの要素を取得し、data-json 属性を解析して、 JavaScript オブジェクト :
var myDiv = document.getElementById("myDiv"); var jsonData = JSON.parse(myDiv.dataset.json); console.log(jsonData);
方法 4: AjaxTransport を使用する
フロントエンド データとバックエンド データを操作するとき、バックエンドの処理を容易にするためにいくつかのパラメーターをカスタマイズする必要がある場合があります。この場合、jQuery で AjaxTransport を使用できます。 AjaxTransport を使用すると、AJAX リクエストを送信する前に、リクエスト ヘッダーにカスタム パラメータを追加して PHP 配列のバックエンド処理を容易にするなど、いくつかのカスタム操作を実行できます。
PHP コードを使用して配列を JSON に変換します:
$myArray = array("name" => "Tom", "age" => "18", "gender" => "male"); $json = json_encode($myArray);
ユーザーが AJAX リクエストを送信するとき、この JSON データをリクエスト ヘッダーに追加できます:
$.ajaxTransport("+json", function(options, originalOptions, xhr) { xhr.setRequestHeader("X-JSON", json); });
Inバックエンド PHP では、リクエスト ヘッダーに追加されたカスタム パラメーターに基づいて PHP 配列を取得できます。
$myArray = json_decode($this->request->header('X-JSON'));
要約すると、さまざまな方法を使用して PHP 配列を JavaScript に転送できます。特定の状況に基づいて、最適なオプションを選択してください。全体として、これらの方法を習得すると、開発者はフロントエンドとバックエンドのデータをより柔軟に操作できるようになり、開発効率が向上します。
以上がPHPの配列をJSに渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Webアプリケーションの応答性を高めるために、PHPでの非同期タスクの実行について説明します。 メッセージキュー、非同期フレームワーク(Reactphp、Swoole)、およびバックグラウンドプロセスなどの方法を詳しく説明し、Efficienのベストプラクティスを強調しています

この記事では、RabbitMQとRedisを使用してPHPでメッセージキューを実装する詳細を示します。 それは、それらのアーキテクチャ(AMQP対インメモリ)、機能、および信頼性メカニズム(確認、トランザクション、永続性)を比較します。デザインのベストプラクティス、エラー

この記事では、PSRの推奨事項(PSR-1、PSR-2、PSR-4、PSR-12)に焦点を当てた現在のPHPコーディング基準とベストプラクティスを検証します。 一貫したスタイリング、意味のある命名、EFFを通じてコードの読みやすさと保守性を改善することを強調しています

この記事では、PHPの反射APIについて説明し、クラス、方法、およびプロパティのランタイム検査と操作を可能にします。 一般的なユースケース(ドキュメンテーション生成、ORM、依存関係注入)とパフォーマンスオーバーヘアに対する注意の詳細

この記事では、PHP拡張機能のインストールとトラブルシューティングの詳細で、PECLに焦点を当てています。 インストール手順(検索、ダウンロード/コンパイル、サーバーの再起動、再起動)、トラブルシューティングテクニック(ログのチェック、インストールの確認、

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

この記事では、PHPメモリの最適化について説明します。 適切なデータ構造を使用し、不必要なオブジェクトの作成を回避し、効率的なアルゴリズムを採用するなどの手法について詳しく説明しています。 一般的なメモリリークソース(例:除去されていない接続、グローバルv

この記事では、PHPエコシステムに最新の状態を維持するための戦略を探ります。 公式チャンネル、コミュニティフォーラム、会議、オープンソースの貢献を利用することを強調しています。 著者は、新機能と


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版
ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック



