Php 将JSON转换为方括号格式(JSON结构)
我正在尝试将数组转换成这种JSON格式Php 将JSON转换为方括号格式(JSON结构),php,arrays,json,Php,Arrays,Json,我正在尝试将数组转换成这种JSON格式 [ [ ["SNO",1], ["chartType","pie"], ["outputValues","rural_total_m,urban_total_m"], ["attributeId",10025], ["level","india"] ], [ ["SNO",2], ["chartType","column"
[
[
["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"]
]
那就用这个
[
["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()
-------------------------------------更新前-----------------------------------------------
不是最有效的解决方案,但会奏效
$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]
]
已更新 如果你想要这样的东西
[
[
["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"]
]
那就用这个
[
["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()
-------------------------------------更新前-----------------------------------------------
不是最有效的解决方案,但会奏效
$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]
]
YOUR输入数组将数字作为键。您需要循环使用它,并将键更改为子数组中的值
$new_array = array();
foreach ($array as $key => $val) {
$new_array[] = array("$key", $val);
}
echo json_encode($new_array);
YOUR输入数组将数字作为键。您需要循环使用它,并将键更改为子数组中的值
$new_array = array();
foreach ($array as $key => $val) {
$new_array[] = array("$key", $val);
}
echo json_encode($new_array);
所需的格式与示例数据不匹配,因此不清楚您想要什么。[1=>7,4,2,8,4,1,9,3,2,16,7,12]应如何转换为[[“a”,12],“b”,5],“c”,18],“d”,13],“e”,7],“f”,4],“g”,9]?如果您为所讨论的数组提供所需的输出,您可能会得到更好的答案。为什么12与
a
相同?为什么b
5?哪有5个呢?很抱歉,假设a,b,c,d,e,f,g为1,2,3,4,5,6,7,8。当我写[1=>7,4,8,…]时,json_encode()函数会自动从1增加到值的数量。我希望现在已经清楚了!所需的格式与示例数据不匹配,因此不清楚您想要什么。[1=>7,4,2,8,4,1,9,3,2,16,7,12]应如何转换为[[“a”,12],“b”,5],“c”,18],“d”,13],“e”,7],“f”,4],“g”,9]?如果您为所讨论的数组提供所需的输出,您可能会得到更好的答案。为什么12与a
相同?为什么b
5?哪有5个呢?很抱歉,假设a,b,c,d,e,f,g为1,2,3,4,5,6,7,8。当我写[1=>7,4,8,…]时,json_encode()函数会自动从1增加到值的数量。我希望现在已经清楚了!这正是我想要的!但是如果我已经为每个值定义了alpha呢?嗯,那么如果alpha已经定义了,那么它们必须在一个数组中或者其他什么东西中,所以你可以通过索引来搜索它们,只需更改$alpha=0;,如果没有,那么你能更清楚地知道阿尔法的存储位置和方式吗!!从sql表中选择查询定义的数组!如果我在该数组上应用上述代码,它将以[[{“key”:“value”}]、{“key”:“value”}]、……]一个由select query from sql table定义的数组的形式生成输出!如果我在该数组上应用上述代码,它将生成输出[[{“key”:“value”}]、{“key”:“value”}]、…]并且每个花括号不仅包含单个值,还包含多个值!我认为是阵列中的错误!如果您可以更新问题,也可以放置一个模拟对象或数组,您正在从db调用它,这正是我想要的!但是如果我已经为每个值定义了alpha呢?嗯,那么如果alpha已经定义了,那么它们必须在一个数组中或者其他什么东西中,所以你可以通过索引来搜索它们,只需更改$alpha=0;,如果没有,那么你能更清楚地知道阿尔法的存储位置和方式吗!!从sql表中选择查询定义的数组!如果我在该数组上应用上述代码,它将以[[{“key”:“value”}]、{“key”:“value”}]、……]一个由select query from sql table定义的数组的形式生成输出!如果我在该数组上应用上述代码,它将生成输出[[{“key”:“value”}]、{“key”:“value”}]、…]并且每个花括号不仅包含单个值,还包含多个值!我认为是阵列中的错误!如果您可以更新问题,也可以放置一个模拟对象或数组,您正在从db调用该对象或数组,