問題描述:
Warning: json_encode() expects parameter 2 to be long, string given in app\controller\BaseController.php on line 80
出錯部分代碼:
function jsonResult( $state = 0, $message = "", $data = array(), $total = 0, $pageSize = 0 )
{
return json_encode(array('state' => $state, 'message' => $message, 'data' => $data, 'total' => $total, 'pageSize' => $pageSize), JSON_UNESCAPED_UNICODE);
}
原因分析:
常量JSON_UNESCAPED_UNICODE僅适用于PHP版本> = 5.4。其值為256。(目前項目php 版本為5.3.29)
解決方案:
将“JSON_UNESCAPED_UNICODE”替換成256。
function jsonResult( $state = 0, $message = "", $data = array(), $total = 0, $pageSize = 0 )
{
/**
* define ('JSON_UNESCAPED_UNICODE', 256);
* 将“JSON_UNESCAPED_UNICODE”替換成256,避免出現如下警告(版本<5.4):
* json_encode() expects parameter 2 to be long, string given in
*/
return json_encode(array('state' => $state, 'message' => $message, 'data' => $data, 'total' => $total, 'pageSize' => $pageSize), 256);
}
參考文章:
https://www.it1352.com/1509071.html