轉自:
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; }