📌  相关文章
📜  json_decode(file_get_contents('php input') true) null - PHP (1)

📅  最后修改于: 2023-12-03 15:17:04.814000             🧑  作者: Mango

json_decode(file_get_contents('php://input'), true) 和 null - PHP

在 PHP 中,json_decode(file_get_contents('php://input'), true) 可以用于解析发往当前脚本的 HTTP 请求正文中的 JSON 数据,并将其转换为 PHP 数组。file_get_contents('php://input') 用于获取当前请求的正文内容,json_decode() 用于将 JSON 数据解析为 PHP 数组,然后通过第二个参数 true,将表示对象属性的 JSON 键转换为 PHP 数组中的键。

如果无法解析 JSON 数据,json_decode() 会返回 null。这可能是由于非法 JSON 数据导致的语法错误,也可能是由于传递给 json_decode() 的 JSON 数据并不是字符串。

以下是该函数的使用示例:

$json = file_get_contents('php://input');
$data = json_decode($json, true);

if ($data === null && json_last_error() !== JSON_ERROR_NONE) {
    throw new Exception('无效的 JSON 数据!');
}

var_dump($data);

其中 json_last_error() 可以用于检测最近一次解析 JSON 数据时的错误。如果返回的是 JSON_ERROR_NONE,则表示没有错误。

这个函数在处理 API 接口的请求数据时非常有用,因为许多客户端都使用 JSON 格式提交数据。

总结

json_decode(file_get_contents('php://input'), true) 可以用于解析发往 PHP 脚本的 HTTP 请求正文中的 JSON 数据,并将其转换为 PHP 数组。如果无法解析 JSON 数据,该函数会返回 null。在处理 API 接口的请求数据时非常有用。

参考文献: