1

JsonでエンコードされたPOSTでパラメータを渡しています。パラメータを PHP ファイルにキャプチャしました。JSON でエンコードされたパラメーターは次のとおりです。

{
    "id": "5",
    "name": "abcd",
    "imei": "1234"
}

まず、次のようにキャプチャしました。

$entityBody = file_get_contents('php://input');

次に、次のようにデコードしました。

$entityBody = json_decode($entityBody, true);

これで、次のように id にアクセスできます。

 $entityBody['id']

POSTに「説明」が存在するというパラメータがあるかどうかを知りたいです。誰かがそれを行う方法を手伝ってくれたら、本当に感謝します。ありがとうございました。

4

2 に答える 2

1

isset「説明」が POST に存在するかどうかを確認するために使用します

if(isset($_POST['description'])) {
     //your code here
}

編集

を使用しfile_get_contents('php://input');ているので、使用する必要があります

if (isset($entityBody['description'])) {
    //your code here
}
于 2013-07-23T07:26:11.680 に答える
0

これは、他のほとんどの回答が言っているのと同じくらい簡単ですが、$entityBody配列ではなく、$_POST配列を確認するだけです。

if (isset($entityBody['description'])) {
    // do something
}

まだ混乱している人のために明確にするために、POST されたデータが標準の HTML フォーム エンコーディング (application/x-www-form-urlencoded または multipart/form-data) のいずれかでエンコードされている場合、自動的にデコードされ、$_POST配列。

この場合、OP は代わりにカスタム (json) 形式でデータを POST しています。つまり、$_POST 配列は空になり、POST コンテンツ自体を手動で読み取ってデコードする必要があります。これは、既に機能しているようです。

関連項目:生の投稿データとは

于 2013-07-23T07:32:48.843 に答える