内容是这样的,我想弄成像图片那样的格式,不知道要怎么实现,希望有人能指导一下,谢谢!时间 状态
2011-03-12 15:20 Shipment Collected by Consignee
2011-03-12 15:19 Shipment Held for Consignee Pickup
2011-03-12 08:34 Consignee Contacted
2011-03-11 21:05 Shipment Forwarded to Salwa Road,Qatar
2011-03-11 13:19 Shipment Received at Operations Facility
2011-03-12 15:20 Shipment Collected by Consignee
2011-03-12 15:19 Shipment Held for Consignee Pickup
2011-03-12 08:34 Consignee Contacted
2011-03-11 21:05 Shipment Forwarded to Salwa Road,Qatar
2011-03-11 13:19 Shipment Received at Operations Facility
$data = array(
array(
t => '2011-03-12 15:20',
c => 'Shipment Collected by Consignee',
),
array(
t => '2011-03-12 15:19',
c => 'Shipment Held for Consignee Pickup',
),
array(
t => '2011-03-12 08:34',
c => 'Consignee Contacted ',
),
array(
t => '2011-03-11 21:05',
c => 'Shipment Forwarded to Salwa Road,Qatar',
),
array(
t => '2011-03-11 13:19',
c => 'Shipment Received at Operations Facility',
),
);// 记录上一天
$last_date = '';
echo "<pre>\n";
foreach($data as $row) {
// 如果是时间戳 则省略
$row['t'] = strtotime($row['t']); $date = date('m/d/Y', $row['t']);
if(!$last_date || $last_date != $date) {
$last_date = $date;
echo $date;
} else {
echo str_repeat(' ', 10);
} echo "\t", date('H:i A', $row['t']), "\t", $row['c'], "\n";}
echo "</pre>\n";
$data = array(
array(
't' => '2011-03-12 15:20',
'c' => 'Shipment Collected by Consignee',
),
array(
't' => '2011-03-12 15:19',
'c' => 'Shipment Held for Consignee Pickup',
),
array(
't' => '2011-03-12 08:34',
'c' => 'Consignee Contacted ',
),
array(
't' => '2011-03-11 21:05',
'c' => 'Shipment Forwarded to Salwa Road,Qatar',
),
array(
't' => '2011-03-11 13:19',
'c' => 'Shipment Received at Operations Facility',
),
);// 加上根据时间规则的排序
function sort_map($a1, $a2) {
// 如果是时间戳 则省略
$t1 = strtotime($a1['t']);
$t2 = strtotime($a2['t']); // 计算某天0点0分0秒
$t1_d = $t1 - $t1 % 86400;
$t2_d = $t2 - $t2 % 86400; if($t1_d > $t2_d) {
return -1;
} elseif($t1_d < $t2_d) {
return 1;
} else {
if($t1 > $t2) {
return 1;
} elseif($t1 < $t2) {
return -1;
} else {
return 0;
}
}
}// 加上根据时间规则的排序 最近的天在前,同天的最早发生的在前
usort($data, 'sort_map');// 记录上一天
$last_date = '';
echo "<pre>\n";
foreach($data as $row) {
// 如果是时间戳 则省略
$row['t'] = strtotime($row['t']); $date = date('m/d/Y', $row['t']);
if(!$last_date || $last_date != $date) {
$last_date = $date;
echo $date;
} else {
echo str_repeat(' ', 10);
} echo "\t", date('H:i A', $row['t']), "\t", $row['c'], "\n";}
echo "</pre>\n";