php解决多维复杂数组生成json数据的方法

问题描述:一个数组A通过foreach遍历,其中又会生成许多数组,这些数组我们称为平行数组B,现要将平行数组B以json格式输出,该怎么办?我在网上找到的解决办法都非常单一,要么是新定义类,要么是单纯的一个数组。

简单的说,我们需要格式为下的json输出

{“all”:[
{“name”:”xiaoming”,
“age”:”15”},
{“name”:”xiaoming”,
“age”:”15”},
……
{“name”:”n”,
“age”:”n”}],
“other”:[…]
}

实现办法:在遍历数组A前先创建一个空变量C,每次遍历的时候都将生成的新数组B添加到C内。最后创建数组变量D,通过array(“new”=>$old_arr)定义新的数组E。最后再对E进行json_encode。就可以达到想要的效果。代码如下:

$arr_1=’’;
$arr_2=();//内有很多数据
foreach($arr_2[n] as $new){
……//具体代码
$arr_3=array();//生成的新数组
$arr_1[]=$arr_3;
}
$arr_4=array(“lalala”=>$arr_1);
echo json_encode($arr_4,JSON_UNESCAPED_SLASHES JSON_UNESCAPED_UNICODE);

上面代码中“JSON_UNESCAPED_SLASHES JSON_UNESCAPED_UNICODE” 主要作用是使json输出的内容没有错误的反斜杠“\”,也不会出现将中文编码的情况。

以上。

2018.5.31 歪克士(海叔)


php解决多维复杂数组生成json数据的方法
https://www.wicos.me/suixie/471/
作者
Wicos
发布于
2018年5月31日
许可协议