1. 程式人生 > >PHP 判斷字串是否為 Json 格式

PHP 判斷字串是否為 Json 格式

哎,現在的網上瞎 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; }