前回の記事「PHPプログラムがjsonデータをどのように走査するか」では、PHPがjsonデータをどのように走査するかを紹介しましたが、この記事では引き続きPHP json関連の内容を紹介していきます。
この記事では、PHP が POST JSON データを受信する方法について説明します。
前回の記事を読んでいる方はjsonについてある程度理解しているはずなので、ここでは紹介しません。
まず最初に、3 つの重要な知識ポイントを紹介します:
1、php://input
: これは必読です。 -only stream を使用すると、リクエスト本文から生データを読み取ることができます。コンテンツ タイプに関係なく、リクエストの HTTP ヘッダーの後にすべての生データが返されます。
2, file_get_contents()
関数: PHP のこの関数は、ファイルを文字列に読み取るために使用されます。
3, json_decode()
関数: この関数は JSON 文字列を受け取り、それを配列またはオブジェクトの PHP 変数に変換します。
$_POST[] グローバル変数を使用して、パブリッシュされたすべてのデータを PHP スクリプトで受信できることは誰もが知っていると思います。ただし、投稿データとして JSON 文字列を受信したい場合は失敗します。したがって、JSON 文字列を受信したい場合は、「php://input」と file_get_contents() 関数を使用して、JSON データをファイルとして受信し、それを文字列に読み取ることができます。
具体的な例を通して紹介しましょう:
json_decode() 関数を使用して JSON 文字列をデコードします。
// 从请求中获取原始数据 $json = file_get_contents('php://input'); // 将其转换为 PHP 对象 $data = json_decode($json);
最初の例:
<?php $json = '["PHP", "HTML", "javascript"]'; $data = json_decode($json); echo $data[0];
出力結果:
PHP
2 番目の例:
<?php $json = '{ "title": "PHP", "site": "PHP中文网" }'; $data = json_decode($json); echo $data->title; echo "<br>"; echo $data->site;
出力:
PHP PHP中文网
PHP中国の Web サイト プラットフォームには、ビデオ教育リソースが豊富にあります。皆さんも「PHP ビデオ チュートリアル 」を学習してください。
以上がPHPを使用してPOST用のJSONデータを受け取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。