我正在从 MySQL 中捕获以下数据:
使用 PHP,我想将数据组织成两个数组:'pagamentos'
和 'recebimentos'
,按 'mes'
排序成一个 JSON 对象。像这样的东西:
{ name: 'Recebimentos', data: [0.00, 11970.99, 2888.0]},
{ name: 'Pagamentos', data: [400.00, 6877.00, 500.00]}
我有:
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
$recebimentos=array();
$pagamentos=array();
foreach ($rows as $key) {
if($key['fluxo']=='Recebimentos'){
array_push($recebimentos, floatval($key['atual']));
} elseif($key['fluxo']=='Pagamentos'){
array_push($pagamentos, floatval($key['atual']));
}
};
echo json_encode(array(
'recebimentos' => array(name=> 'name', data=>$recebimentos),
'pagamentos' => array(name=> 'name', data=>$pagamentos),
));
但这是返回:
{"recebimentos":{"name":"name","data":[0,11970.99,2888]},"pagamentos":{"name":"name","data":[400,6877,500]}}
最佳答案
有两个地方需要更改 - $key['real']
应该是 $key['atual']
或 $key['actual ']
。不确定这是否是复制粘贴错误,或者该列是否实际命名为 atual:
foreach ($rows as $key) {
if($key['fluxo']=='Recebimentos'){
$recebimentos[]=$key['atual'];
} elseif($key['fluxo']=='Pagamentos'){
$pagamentos[]==$key['atual'];
}
};
并且当您分配编码数据的名称时,您需要实际名称,而不是'name'
:
echo json_encode(array(
array(name=> 'recebimentos', data=>$recebimentos),
array(name=> 'pagamentos', data=>$pagamentos)
));
关于PHP:从MySQL查询表中获取两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22767430/