我有一张名为' traffic'和两列“' line' (有超过50行)和' vehicle' (超过300)。该表包含所有线路及其所依赖的车辆的列表。每条线都有几辆车,我需要逐行对它们(车辆)进行分组。
line | vehicle
______________________
line_a | veh1
line_a | veh12
line_a | veh123
line_b | veh14
line_b | veh15
line_b | veh16
line_c | veh17
line_c | veh18
预期产出
line_a | line_b | line_c | .... to line 50
______________________________________
veh1 veh14 veh17
veh12 veh15 veh18
veh123 veh16
有什么办法吗?
答案 0 :(得分:0)
...猜测,你的一半编码工作现在就完成了......
答案 1 :(得分:0)
首先你需要从数据库中获取所有记录,
这里我使用的是一个演示阵列$input
,例如,从数据库中取出时不需要这个数组,可以从foreach
<?php
$input = array(0=>array('line'=>'line_a','vehicle'=>'veh1'),
1=>array('line'=>'line_b','vehicle'=>'veh2'),
2=>array('line'=>'line_c','vehicle'=>'veh6'),
3=>array('line'=>'line_a','vehicle'=>'veh5'),
4=>array('line'=>'line_c','vehicle'=>'veh9')
);
$newArr =array();
foreach($input as $key =>$val)
{
$newArr[$val['line']][] = $val['vehicle'];
}
echo "<pre>"; print_r($newArr);
?>
您的$newArr
看起来像这样
Array
(
[line_a] => Array
(
[0] => veh1
[1] => veh5
)
[line_b] => Array
(
[0] => veh2
)
[line_c] => Array
(
[0] => veh6
[1] => veh9
)
)
您的车辆根据各自的线路进行分类,您可以根据需要使用$newArray
进行打印。
我希望这对你有用!