1

我通过 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 中存在“描述”。如果有人帮助我如何做到这一点,我将非常感激。谢谢你。

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'ed 数据以标准 HTML 表单编码之一(application/x-www-form-urlencoded 或 multipart/form-data)编码,它将被自动解码并在$_POST数组。

在这种情况下,OP 改为以自定义 (json) 格式发布数据。这意味着 $_POST 数组将为空,他们必须自己手动读取和解码 POST 内容——看起来他们已经开始工作了。

另请参阅:什么是原始帖子数据

于 2013-07-23T07:32:48.843 回答