PHP 判斷字串是否為 Json 格式
阿新 • • 發佈:2019-01-22
哎,現在的網上瞎 J8 扯的人真是太多了,全 TM 一片抄!
網上一堆人說的 json_last_error()
,可以判斷 json_decode
後的結果
我也沒多想,試了一下:
json_decode('123');
var_dump(json_last_error());
然後可笑的去 json_last_error() === JSON_ERROR_NONE
,返回的是 true
吧?
那還怎麼比較…
寫了一個大家可參考:
/**
* 判斷字串是否為 Json 格式
*
* @param string $data Json 字串
* @param bool $assoc 是否返回關聯陣列。預設返回物件
*
* @return bool|array 成功返回轉換後的物件或陣列,失敗返回 false
*/
function isJson($data = '', $assoc = false) {
$data = json_decode($data, $assoc);
if ($data && (is_object($data)) || (is_array($data) && !empty(current($data)))) {
return $data;
}
return false;
}