转自:
https://blog.csdn.net/maxsky/article/details/80542839
网上一堆人说的 json_last_error(),可以判断 json_decode 后的结果
我也没多想,试了一下:
json_decode('123');
var_dump(json_last_error());
1
2
然后可笑的去 json_last_error() === JSON_ERROR_NONE,返回的是 true 吧?
那还怎么比较…
写了一个大家可参考:
/** * 判断字符串是否为 Json 格式 * * @param string $data Json 字符串 * @param bool $assoc 是否返回关联数组。默认返回对象 * * @return array|bool|object 成功返回转换后的对象或数组,失败返回 false */ function isJson($data = '', $assoc = false) { $data = json_decode($data, $assoc); if (($data && is_object($data)) || (is_array($data) && !empty($data))) { return $data; } return false; }