天天看點

Warning: json_encode() expects parameter 2 to be long, string given in問題描述:原因分析:解決方案:

問題描述:

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