PHP 二维数组转 JSON 为何失效?
问题:
某位 php 开发者在尝试将二维数组转换为 json 时出现问题。数组结构如下:
$array = [ 'data' => [ 'colid' => 2, 'colcode' => 02, 'colname' => '电子信息与控制工程学院', 'orgidentify' => 'fafu', 'isdelete' => 0, ], 'code' => 0, ];
使用 json_encode 函数转换时,没有任何输出。尝试只转换子数组 $array['data'] 也失败了。
答案:
要成功将二维数组转换为 json,需要将数组直接作为 json_encode 函数的参数,如下:
$str = json_encode($array); echo $str;
示例输出:
{"data":{"ColID":2,"ColCode":2,"ColName":"\u7535\u5b50\u4fe1\u606f\u4e0e\u63a7\u5236\u5de5\u79d1\u5b66\u9662","OrgIdentify":"fafu","IsDelete":0},"code":0}