标签:php
我想做什么
我有一个看起来像这样的数组 –
Array
(
[0] => Array
(
[id] => 1
[date] => 23-09-2015
[name] => Public Transport
[group_id] => 1
)
[1] => Array
(
[id] => 2
[date] => 23-09-2015
[name] => Parking
[group_id] => 1
)
[2] => Array
(
[id] => 4
[date] => 23-09-2015
[name] => Food
[group_id] => 2
)
[3] => Array
(
[id] => 3
[date] => 23-09-2015
[name] => Fix
[group_id] => 3
)
[4] => Array
(
[id] => 4
[date] => 23-09-2015
[name] => Entertainment
[group_id] => 3
)
)
我想在表中列出它,根据组ID完成分组
该集团有交通运输[1],住宿[2]和津贴[3]. [4]未分组.
表结构需要如下所示.
ID| Date | Name |
---------------------------------
---------------------------------
1 |23-09-2015|Public Transport
2 |23-09-2015|Parking
---------------------------------
TRANSPORTATION
---------------------------------
3 |23-09-2015|Food
---------------------------------
ACCOMMODATION
---------------------------------
4 |23-09-2015|Fix
---------------------------------
ALLOWANCE
---------------------------------
5 |23-09-2015|Entertainment
你可以在这里看到id 1& 2个来自交通,3个住宿,4个住宿和娱乐没有团体.
如果任何组dosenot在数组中有数据,那么它应该显示NO DATA AVAILABLE
---------------------------------
3 |23-09-2015|Food
---------------------------------
ACCOMMODATION
---------------------------------
No data available
---------------------------------
ALLOWANCE
---------------------------------
我尝试了什么
$j = 1;
foreach ($summary as $list) {
if ($j != $list['group_id']) {
if ($j == 1) {
$group = 'Transportation';
} else if ($j == 2) {
$group = 'Accomodation';
} else if ($j == 3) {
$group = 'Allowances';
} else {
$group = '';
}
?>
<?php echo $group; ?><?php echo $list['id']; ?><?php echo $list['date']; ?><?php echo $list['name']; ?>$j = $list['group_id'];
}
?>
数组按group_id按升序排序.组ID将始终具有值1,2,3,4.
我的代码有问题
它部分工作.但是当group_id数组中没有值时,我无法显示NO DATA AVAILABLE.此外,如果group_id = 4在数组中不可用,那么它不会在底部设置ALLOWANCE,因为数组循环在设置值之前完成.
解决方法:
编辑:删除了整个页面,因为它现在变得混乱.
$summary = array();
$summary[] = array('id'=>1, 'date'=>"23-09-2915", 'name'=>"Public transpor1", 'group_id'=> 1);
$summary[] = array('id'=>2, 'date'=>"24-09-2915", 'name'=>"Public transpor2", 'group_id'=> 3);
$summary[] = array('id'=>3, 'date'=>"25-09-2915", 'name'=>"Public transpor3", 'group_id'=> 1);
$summary[] = array('id'=>4, 'date'=>"26-09-2915", 'name'=>"Public transpor4", 'group_id'=> 2);
$summary[] = array('id'=>5, 'date'=>"27-09-2915", 'name'=>"Public transpor5", 'group_id'=> 1);
$newarray = array('Transportation'=>array(),'Accomodation'=>array(),'Allowances'=>array(),'Not found'=>array());
foreach ($summary as $list) {
if(isset($list['group_id'])){
$testid = $list['group_id'];
}else{
$testid = 4;
}
if ($testid == 1) {
$group = 'Transportation';
} else if ($testid == 2) {
$group = 'Accomodation';
} else if ($testid == 3) {
$group = 'Allowances';
} else {
$group = 'Not found';
}
$newarray[$group][] = $list;
}
echo "
foreach($newarray as $key => $array){
echo "
".$key."";if(count($array) > 0){
foreach($array as $row){
echo "
".$row['name']."";}
}else{
echo "
Not data";}
}
echo "
";这应该做你想要的,但是认真的,付出一些努力lol.如果您对问题不太清楚,我将不会继续编辑它,直到它完成您想要的操作
标签:php
来源: https://codeday.me/bug/20190711/1433482.html