Php 如何组合3个阵列
你好社区 我只是想问一下我的代码。我只想合并我的3个变量Php 如何组合3个阵列,php,mysql,arrays,json,Php,Mysql,Arrays,Json,你好社区 我只是想问一下我的代码。我只想合并我的3个变量 $result = mysqli_query($con, "SELECT disease,age,SUM(CASE WHEN gender = 'm' THEN 1 ELSE 0 END) AS `totalM`, SUM(CASE WHEN gender = 'f' THEN 1 ELSE 0 END) AS `totalF` FROM mdr where disease = '$diseaseselection' GROUP
$result = mysqli_query($con, "SELECT disease,age,SUM(CASE WHEN gender = 'm' THEN 1 ELSE 0 END) AS `totalM`, SUM(CASE WHEN gender = 'f' THEN 1 ELSE 0 END) AS `totalF` FROM mdr where disease = '$diseaseselection' GROUP BY disease , age");
$chart_data = '';
while($row = mysqli_fetch_array($result))
{
$tabx[]=$row['age'];
$taby[]=$row['totalM'];
$tabz[]=$row['totalF'];
}
$tableau=array_combine($tabx,$taby,$tabz);
foreach($tableau as $key=>$value){
$string[]=array('age'=>$key,'totalM'=>$value,'totalF'=>$value);
}
echo json_encode($string);
它可以很好地使用此代码。具有2个变量。我希望它是由树变量完成的
$result = mysqli_query($con, "SELECT disease,age,SUM(CASE WHEN gender = 'm' THEN 1 ELSE 0 END) AS `totalM`, SUM(CASE WHEN gender = 'f' THEN 1 ELSE 0 END) AS `totalF` FROM mdr where disease = '$diseaseselection' GROUP BY disease , age");
$chart_data = '';
while($row = mysqli_fetch_array($result))
{
$tabx[]=$row['age'];
$taby[]=$row['totalM'];
}
$tableau=array_combine($tabx,$taby);
foreach($tableau as $key=>$value){
$string[]=array('age'=>$key,'totalM'=>$value);
}
echo json_encode($string);
这是我的预期输出
{ age:'0-1', totalM:2, totalF:1},
{ age:'1-4', totalM:1, totalF:0},
{ age:'10-14', totalM:0, totalF:1},
{ age:'15-19', totalM:0, totalF:1},
{ age:'5-9', totalM:0, totalF:3},
{ age:'55-59', totalM:6, totalF:0}
不需要使用多个数组,使用多维数组可以获得所需的结果
$key = 0;
$output = [];
while($row = mysqli_fetch_array($result)){
$output[$key]['age'] = $row['age'];
$output[$key]['totalM'] = $row['totalM'];
$output[$key]['totalF'] = $row['totalF'];
$key++;
}
echo json_encode($output);
现在还不清楚你到底想要实现什么。请发布输入和预期输出以及错误/问题Array combine正在合并2个数组以形成一个键值对。在这种情况下,您真的不需要使用。你想创建一个JSON字符串3个或更多的键吗?我已经在上面添加了我的预期输出。我只是想组合我的3个数组。上面的代码是一个例子,你必须用这种方法来解决。是的,我同意我在数组变量中使用了适当的名称,我应该更改that@B001ᛦ 好吧,我猜提问者会明白的,我应该给出完整的例子:)。
$result = mysqli_query($con, "SELECT disease,age,SUM(CASE WHEN gender = 'm' THEN 1 ELSE 0 END) AS `totalM`, SUM(CASE WHEN gender = 'f' THEN 1 ELSE 0 END) AS `totalF` FROM mdr where disease = '$diseaseselection' GROUP BY disease , age");
$chart_data = '';
$data = [];
while($row = mysqli_fetch_array($result)) {
$data[] = [
'age' => $row['age'],
'totalM' => $row['totalM'],
'totalF' => $row['totalF']
];
}
echo json_encode($data);