標籤:數組 ring support sch more 問題 www 函數 utf-16
這種情況一般是json_encode序列化數組時出現錯誤,錯誤原因有很多,可以通過json_last_error函數來查看錯誤原因!!!
可能的原因
-----------------------------------------------------------
1、反斜線,可以用stripslashes() 函數刪除由 addslashes() 函數添加的反斜線,可能還要用到urlencode ()— 編碼 URL 字串
-----------------------------------------------------------
json_last_error函數手冊地址(http://www.php.net/manual/zh/function.json-last-error.php)
-----------------------------------------------------------
(PHP 5 >= 5.3.0, PHP 7)
json_last_error — 返回最後發生的錯誤
說明
-----------------------------------------------------------
int json_last_error ( void ) 如果有,返回 JSON 編碼解碼時最後發生的錯誤。
參數
-----------------------------------------------------------
此函數沒有參數。
傳回值
-----------------------------------------------------------
返回一個整型(integer),這個值會是以下的常量之一:
JSON_ERROR_NONE |
沒有錯誤發生 |
|
JSON_ERROR_DEPTH |
到達了最大堆棧深度 |
|
JSON_ERROR_STATE_MISMATCH |
無效或異常的 JSON |
|
JSON_ERROR_CTRL_CHAR |
控制字元錯誤,可能是編碼不對 |
|
JSON_ERROR_SYNTAX |
語法錯誤 |
|
JSON_ERROR_UTF8 |
異常的 UTF-8 字元,也許是因為不正確的編碼。 |
PHP 5.3.3 |
JSON_ERROR_RECURSION |
One or more recursive references in the value to be encoded |
PHP 5.5.0 |
JSON_ERROR_INF_OR_NAN |
One or more NAN or INF values in the value to be encoded |
PHP 5.5.0 |
JSON_ERROR_UNSUPPORTED_TYPE |
指定的類型,值無法編碼。 |
PHP 5.5.0 |
JSON_ERROR_INVALID_PROPERTY_NAME |
指定的屬性名稱無法編碼。 |
PHP 7.0.0 |
JSON_ERROR_UTF16 |
畸形的 UTF-16 字元,可能因為字元編碼不正確。 |
PHP 7.0.0 |
echo json_encode(array(‘error‘ => ‘0‘, ‘message‘ => ‘沒有錯誤‘));
var_dump(json_last_error());
//這裡也可以是json_decode
//錯誤碼對照
0 JSON_ERROR_NONE
1 JSON_ERROR_DEPTH
2 JSON_ERROR_STATE_MISMATCH
3 JSON_ERROR_CTRL_CHAR
4 JSON_ERROR_SYNTAX
5 JSON_ERROR_UTF8
6 JSON_ERROR_RECURSION
7 JSON_ERROR_INF_OR_NAN
8 JSON_ERROR_UNSUPPORTED_TYPE
php json_encode輸出為空白問題