我通过POST传递参数,这些参数在Json中编码。我已经在PHP文件中捕获了参数。 JSON编码参数如下:
{
"id": "5",
"name": "abcd",
"imei": "1234"
}
首先,我按如下方式捕获了它们:
$entityBody = file_get_contents('php://input');
然后我按如下方式对它们进行了解码:
$entityBody = json_decode($entityBody, true);
现在我可以按如下方式访问id:
$entityBody['id']
我想知道,如果有任何参数说,POST中存在'description'。如果有人帮我怎么做,我将非常感激。谢谢。
答案 0 :(得分:1)
使用isset
检查POST中是否存在“说明”
if(isset($_POST['description'])) {
//your code here
}
修改
当您使用file_get_contents('php://input');
时,必须使用
if (isset($entityBody['description'])) {
//your code here
}
答案 1 :(得分:0)
这实际上就像大多数其他答案一样简单 - 但您只需要检查$entityBody
数组,而不是$_POST
数组。
if (isset($entityBody['description'])) {
// do something
}
为了澄清那些仍然困惑的人,如果POST的数据是用标准的HTML表格编码(application / x-www-form-urlencoded或multipart / form-data)编码的,那么它将是自动解码并在$_POST
数组中可用。
在这种情况下,OP是以自定义(json)格式POST数据。这意味着$ _POST数组将为空,并且必须manually read and decode the POST contents themselves - 它们似乎已经开始工作了。