Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何按日期对数组进行分类或分组_Php_Mysql_Cakephp - Fatal编程技术网

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>