<?php
$data = array(
0 => array('title'=>'a', 'start_date'=>'2013/04/20', 'end_date'=>'2013/05/20'),
1 => array('title'=>'a', 'start_date'=>'2013/04/20', 'end_date'=>'2013/05/20'),
2 => array('title'=>'a', 'start_date'=>'2013/04/20', 'end_date'=>'2013/05/20'),
3 => array('title'=>'b', 'start_date'=>'2013/04/20', 'end_date'=>'2013/05/20'),
4 => array('title'=>'c', 'start_date'=>'2013/04/20', 'end_date'=>'2013/05/20'),
5 => array('title'=>'c', 'start_date'=>'2013/04/20', 'end_date'=>'2013/05/20'),
);
// manipulate by array
$data2 = array_group($data, 'title');
function array_group($input,$sortkey){
foreach ($input as $key=>$val)
{
$output[$val[$sortkey]][]=$val;
}
return $output;
}
?>
<!-- Asal -->
<h1>Old</h1>
<table class="table" border="1">
<tr>
<td>Title</td>
<td>Start Date</td>
<td>End Date</td>
</tr>
<?php foreach($data as $k=>$v) { ?>
<tr>
<td><?php echo $v['title'] ?></td>
<td><?php echo $v['start_date'] ?></td>
<td><?php echo $v['end_date']?></td>
</tr>
<?php } ?>
</table>
<!-- Lepas dah manipulate -->
<h1>Latest</h1>
<table border="1">
<tr>
<td>Title</td>
<td>Start date</td>
<td>End date</td>
</tr>
<?php foreach ($data2 as $key => $value):
$rowspan=count($value);
?>
<tr>
<td rowspan="<?php echo $rowspan; ?>"><?php echo $key;?></td>
<td><?php echo $value[0]['start_date']?></td>
<td><?php echo $value[0]['end_date']?></td>
</tr>
<?php $i=1;while($i<$rowspan) { ?>
<tr>
<td><?php echo $value[$i]['start_date']?></td>
<td><?php echo $value[$i]['end_date']?></td>
</tr>
<?php $i++;} ?>
<?php endforeach ?>
</table>
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.6 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
-
<!-- Asal -->
<h1>Old</h1>
<table class="table" border="1">
<tr>
<td>Title</td>
<td>Start Date</td>
<td>End Date</td>
</tr>
<tr>
<td>a</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>a</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>a</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>b</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>c</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>c</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
</table>
<!-- Lepas dah manipulate -->
<h1>Latest</h1>
<table border="1">
<tr>
<td>Title</td>
<td>Start date</td>
<td>End date</td>
</tr>
<tr>
<td rowspan="3">a</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td rowspan="1">b</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td rowspan="2">c</td>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
<tr>
<td>2013/04/20</td>
<td>2013/05/20</td>
</tr>
</table>
preferences:
335.6 ms | 414 KiB | 383 Q