Php 组合具有相同id的数组
我正在从数据库中获取数据。我有两个表是关系表。我正在使用SQLJOIN获取所需的信息。现在我有多个数组,其中包含数据。但现在我想将具有相同ID(team_ID)的数组组合起来,然后在页面上回显它。或者我的意思是组合具有相同ID(team_ID)的数组,这样我可以为每个团队正确排序 这是来自我的数据库的数组。可以有无限多个团队名称(数组) 以下是我的Foreach/JOIN代码:Php 组合具有相同id的数组,php,sql,arrays,sorting,loops,Php,Sql,Arrays,Sorting,Loops,我正在从数据库中获取数据。我有两个表是关系表。我正在使用SQLJOIN获取所需的信息。现在我有多个数组,其中包含数据。但现在我想将具有相同ID(team_ID)的数组组合起来,然后在页面上回显它。或者我的意思是组合具有相同ID(team_ID)的数组,这样我可以为每个团队正确排序 这是来自我的数据库的数组。可以有无限多个团队名称(数组) 以下是我的Foreach/JOIN代码: echo "<pre>"; foreach ($db->query("SELECT poin
echo "<pre>";
foreach ($db->query("SELECT points_1, points_2, name, team_id FROM points INNER JOIN teams ON teams.id=points.team_id ORDER BY team_id ASC") as $result) {
print_r($result);
}
echo”“;
foreach($db->query(“从团队内部加入团队的点中选择点1、点2、名称、团队id。id=点。团队id按团队id ASC排序”)作为$result){
打印(结果);
}
我想检查一下所有的阵列,然后像图中一样整齐地对它们进行回声和排序
如果输出类似于此数组(您可以设置所需的键) 然后尝试:
$arrayTotals=array();
foreach($arr作为$result){
//打印(结果);
$ARRAYTOLS[$result['name']][]=array('points_1'=>$result['points_1'],'points_2'=>$result['points_2']);
}
var_dump($arrayTotals);
foreach($arrayTotals作为$team=>$value){
echo''.$团队;
$sum1=0;
$sum2=0;
foreach(价值为$v){
回音“
”。$v['points_1']./'。$v['points_2'];
$sum1+=$v['points_1'];
$sum2+=$v['points_2'];
}
echo'
总计:'.$sum1./'.$sum2;
回声';
}
我得到一个0的数组:数组(0){}
echo "<pre>";
foreach ($db->query("SELECT points_1, points_2, name, team_id FROM points INNER JOIN teams ON teams.id=points.team_id ORDER BY team_id ASC") as $result) {
print_r($result);
}
$arr = array(
array('name' => 'Team 1','points_1' => 2,'points_2' => 10),
array('name' => 'Team 1','points_1' => 7,'points_2' => 10),
array('name' => 'Team 2','points_1' => 1,'points_2' => 12),
array('name' => 'Team 3','points_1' => 4,'points_2' => 32),
array('name' => 'Team 2','points_1' => 1,'points_2' => 16),
);
$arrayTotals = array();
foreach ($arr as $result) {
//print_r($result);
$arrayTotals[$result['name']][] = array('points_1'=>$result['points_1'],'points_2'=>$result['points_2']);
}
var_dump($arrayTotals);
foreach($arrayTotals as $team=>$values){
echo '<div style="float:left;">'.$team;
$sum1=0;
$sum2=0;
foreach($values as $v){
echo '<br />'.$v['points_1'].'/'.$v['points_2'];
$sum1 +=$v['points_1'];
$sum2 +=$v['points_2'];
}
echo '<br />Total:'.$sum1.'/'.$sum2;
echo '</div>';
}