[英]PHP - formatting array results
我写了一个查询来计算过去 7 天的每一天的支出。
它返回结果如..
[
{
"Day": "Mon",
"Total": "2"
}
]
现在我需要格式化该 json 结果,以便 Days 转到“标签”并总计到“数据,例如:
[
'labels' => ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
'data' => [0, 0, 0, 0, 0, 0, 0]
];
我以前没有任何格式化数组的经验,所以这部分对我来说看起来很混乱。
在这里,这应该可以解决问题
//This is your input data
$inputs = json_decode( "[{\"Day\":\"Mon\",\"Total\":2},{\"Day\":\"Tue\",\"Total\":4}]", TRUE);
//This is where to store the output
$output = array(
"labels" => array(),
"data" => array(),
);
//Loop all your inputs
foreach( $inputs as $daySpending){
//Add the day as a label
$output["labels"][] = $daySpending["Day"];
//Add the amount as the data
$output["data"][] = $daySpending["Total"];
}
echo "<pre>". print_r( $output, 1 ) ."</pre>";
$jsonArr = json_decode(' [{"Day": "Mon","Total": "2"},{"Day": "TUE", "Total": "3" }]', TRUE);
$temp =['labels' => [],'date' => []];
if(!empty($jsonArr)) {
foreach($jsonArr as $arr) {
array_push($temp['labels'], $arr['Day']);
array_push($temp['date'], $arr['Total']);
}
}
试试这个简单的代码
$resultData=array();
$jsondata='[{"Day": "Mon","Total": "2"}]';
$result=json_decode($jsondata,true);
foreach($result as $key => $value){
$labels[]=$value['Day'];
$data[]=$value['Total'];
}
$resultData['labels']=$labels;
$resultData['data']=$data;
echo json_encode($resultData);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.