我正在尝试将数组转换为这种JSON格式!
[
[
["SNO",1],
["chartType","pie"],
["outputValues","rural_total_m,urban_total_m"],
["attributeId",10025],
["level","india"]
],
[
["SNO",2],
["chartType","column"],
["outputValues","total_m"],
["attributeId",10025],
["level","state"]
]
]
我有一个来自sql查询的数组,php的print_r()函数将其打印为-
Array
(
[0] => Array
(
[SNO] => 1
[chartType] => pie
[outputValues] => rural_total_m,urban_total_m
[attributeId] => 10025
[level] => india
)
[1] => Array
(
[SNO] => 2
[chartType] => column
[outputValues] => total_m
[attributeId] => 10025
[level] => state
)
)
如何获得上述格式?非常感谢。
更新
如果你想要这样的
[
[
["SNO",1],
["chartType","pie"],
["outputValues","rural_total_m,urban_total_m"],
["attributeId",10025],
["level","india"]
],[
["SNO",2],
["chartType","column"],
["outputValues","total_m"],
["attributeId",10025],
["level","state"]
]
]
然后使用这个代码
让模拟数组为$result
$result = array(
array(
"SNO" => 1,
"chartType" => "pie",
"outputValues" => "rural_total_m,urban_total_m",
"attributeId" => 10025,
"level" => "india"
),
array(
"SNO" => 2,
"chartType" => "column",
"outputValues" => "total_m",
"attributeId" => 10025,
"level" => "state"
)
);
$return_array = array();
foreach ($result as $value) {
$temp_array = array();
foreach ($value as $key => $value) {
$temp_array[] = array($key,$value);
}
$return_array[] = $temp_array;
}
echo json_encode($return_array);
否则,如果你想要的输出是这样一个
[
["SNO",1],
["chartType","pie"],
["outputValues","rural_total_m,urban_total_m"],
["attributeId",10025],
["level","india"]
["SNO",2],
["chartType","column"],
["outputValues","total_m"],
["attributeId",10025],
["level","state"]
]
然后用这个
$return_array=array();
foreach ($result as $value) {
foreach ($value as $key => $value) {
$return_array[] = array($key,$value);
}
}
------------------------------更新前--------------------------------------------
不是最有效的解决方案,但会奏效!!
$array = array(7,4,2,8,4,1,9,3,2,16,7,12);
$alpha = 'a';
$retur_array = array();
foreach ($array as $value) {
$retur_array[] = array($alpha++ , $value);
}
json_encode($retur_array);
输出
[
["a",7],
["b",4],
["c",2],
["d",8],
["e",4],
["f",1],
["g",9],
["h",3],
["i",2],
["j",16],
["k",7],
["l",12]
]
Yuor输入数组将数字作为键。您需要对此进行循环,并将键更改为子数组中的值。
$new_array = array();
foreach ($array as $key => $val) {
$new_array[] = array("$key", $val);
}
echo json_encode($new_array);