Php 如何按日期对数组进行分类或分组
我有一个按日期描述分组的历史记录列表,如下所示:Php 如何按日期对数组进行分类或分组,php,mysql,cakephp,Php,Mysql,Cakephp,我有一个按日期描述分组的历史记录列表,如下所示: ----------- 28/Feb/2014 ----------- 27/Feb/2014 ----------- 27/Feb/2014 ----------- 27/Feb/2014 ------------ 26/Feb/2014 ------------ 26/Feb/2014 我想被印成这样 ----------- 28/Feb/2014 ----------- 27/Feb/2
-----------
28/Feb/2014
-----------
27/Feb/2014
-----------
27/Feb/2014
-----------
27/Feb/2014
------------
26/Feb/2014
------------
26/Feb/2014
我想被印成这样
-----------
28/Feb/2014
-----------
27/Feb/2014
27/Feb/2014
27/Feb/2014
------------
26/Feb/2014
26/Feb/2014
这是我的阵列:
array(
(int) 0 => array(
'BriefHistory' => array(
'id' => '2',
'created' => '2014-02-28 14:51:08',
'created_by' => '7827',
'order_id' => 'OBE10003',
'brief_instalment_id' => '2',
'brief_history_type_id' => '1'
)
),
(int) 1 => array(
'BriefHistory' => array(
'id' => '4',
'created' => '2014-02-27 16:18:40',
'created_by' => '7827',
'order_id' => 'OBE10003',
'brief_instalment_id' => '2',
'brief_history_type_id' => '4'
)
),
(int) 2 => array(
'BriefHistory' => array(
'id' => '1',
'created' => '2014-02-27 14:51:08',
'created_by' => '7827',
'order_id' => 'OBE10003',
'brief_instalment_id' => '1',
'brief_history_type_id' => '1'
)
),
(int) 3 => array(
'BriefHistory' => array(
'id' => '3',
'created' => '2014-02-26 16:18:09',
'created_by' => '7827',
'order_id' => 'OBE10003',
'brief_instalment_id' => '1',
'brief_history_type_id' => '3'
)
)
)
php:
沿着这些思路的东西。可压实:
$previous = '';
foreach ($briefHistories as $briefHistorie) {
$date = TimeUtil::format("d/M/Y", $briefHistorie['BriefHistory']['created']);
if($date != $previous) {
echo '<div class="brief-summary-row">';
}
echo '<div>'.$date.'</div>';
if($date != $previous) {
echo '</div>';
}
$previous = $date;
}
$previous='';
foreach($briefHistories作为$briefHistorie){
$date=TimeUtil::format(“d/M/Y,$briefHistorie['BriefHistory']['created']);
如果($date!=$previous){
回声';
}
回显“.$date.”;
如果($date!=$previous){
回声';
}
$previous=$date;
}
用于其他
$arrayDates = array();
$i = 0;
$key = array();
foreach ($briefHistories as $briefHistorie) {
$key_name = date('Ymd', strtotime($briefHistorie['BriefHistory']['created']));
if(!isset($key[$key_name])){
$key[$key_name]=$i;
$i++;
}
$arrayDates[$key[$key_name]][]= $briefHistorie;
}
foreach ($arrayDates as $arrayDate ) {
echo '<div class="brief-summary-row">';
foreach ($arrayDate as $data) {
echo '<strong>'.date('d-m-Y', strtotime($data['BriefHistory']['created'])).'</strong>';
}
echo '</div>';
}
$arrayDates=array();
$i=0;
$key=array();
foreach($briefHistories作为$briefHistorie){
$key_name=date('Ymd',strotime($briefHistorie['BriefHistory']['created']);
如果(!isset($key[$key\u name])){
$key[$key\u name]=$i;
$i++;
}
$arrayDates[$key[$key\u name]][]=$briefHistorie;
}
foreach($arrayDate作为$arrayDate){
回声';
foreach($arrayDate作为$data){
回显“”。日期('d-m-Y',strottime($data['BriefHistory']['created'])。;
}
回声';
}
打印输出=>
<div class="brief-summary-row">
<strong>28-02-2014</strong>
</div>
<div class="brief-summary-row">
<strong>27-02-2014</strong>
<strong>27-02-2014</strong>
<strong>27-02-2014</strong>
<strong>27-02-2014</strong>
</div>
<div class="brief-summary-row">
<strong>26-02-2014</strong>
<strong>26-02-2014</strong>
</div>
<div class="brief-summary-row">
<strong>25-02-2014</strong>
</div>
2014年2月28日
2014年2月27日
2014年2月27日
2014年2月27日
2014年2月27日
2014年2月26日
2014年2月26日
25-02-2014
其他谢谢。它很近,但仍然有一个相同的问题date@IsaacRajaei,你能举一个不正确的例子吗?2月27日的第一个节目在div播出,但其他节目在div播出
$arrayDates = array();
$i = 0;
$key = array();
foreach ($briefHistories as $briefHistorie) {
$key_name = date('Ymd', strtotime($briefHistorie['BriefHistory']['created']));
if(!isset($key[$key_name])){
$key[$key_name]=$i;
$i++;
}
$arrayDates[$key[$key_name]][]= $briefHistorie;
}
foreach ($arrayDates as $arrayDate ) {
echo '<div class="brief-summary-row">';
foreach ($arrayDate as $data) {
echo '<strong>'.date('d-m-Y', strtotime($data['BriefHistory']['created'])).'</strong>';
}
echo '</div>';
}
<div class="brief-summary-row">
<strong>28-02-2014</strong>
</div>
<div class="brief-summary-row">
<strong>27-02-2014</strong>
<strong>27-02-2014</strong>
<strong>27-02-2014</strong>
<strong>27-02-2014</strong>
</div>
<div class="brief-summary-row">
<strong>26-02-2014</strong>
<strong>26-02-2014</strong>
</div>
<div class="brief-summary-row">
<strong>25-02-2014</strong>
</div>