php - 如何在foreach循环中分离数据列

标签 php codeigniter for-loop foreach while-loop

如何借助 foreach 循环获取不同部分的数据,例如今天、即将到来的日期和逾期日期。

foreach($list as $index=>$row) {                                 
    $dueDt = new DateTime($row->due_timeDate);
    $todayDt = new DateTime('now');
    $due = $dueDt->format('Y-m-d');   
    $today = $todayDt->format('Y-m-d');  

    if($due == $today) {                               

        echo $due.' Today' ;
        echo '<br>';
        $task['today'][]=$row;

    } elseif($due>$today) {

        echo $due.' Upcoming'; 
        echo '<br>'; 
        $task['today'][]=$row;

    } elseif($due<$today) {

        echo $due.' Overdue';; 
        echo '<br>';   
        $task['overdue'][]=$row;
    } 
}

我的数据是这样的:

2015-10-30 Upcoming
2015-10-29 Today
2015-10-28 Overdue
2015-10-28 Overdue
2015-10-27 Overdue
2015-10-27 Overdue
2015-10-15 Overdue

但是我想要来自 foreach 循环的这样的数据:

Upcoming
        2015-10-30 

Today
        2015-10-29 
Overdue
        2015-10-28 
        2015-10-28 
        2015-10-27 
        2015-10-27 
        2015-10-15 

最佳答案

$task['today'] = array();
$task['Upcoming'] = array();
$task['Overdue'] = array();

foreach ($list as $index => $row)
{
    $dueDt = new DateTime($row->due_timeDate);
    $todayDt = new DateTime('now');
    $due = $dueDt->format('Y-m-d');
    $today = $todayDt->format('Y-m-d');
    if ($due == $today)
    {
        $task['today'][] = $row;
    }
    elseif ($due > $today)
    {
        $task['Upcoming'][] = $row;
    }
    elseif ($due < $today)
    {
        $task['Overdue'][] = $row;
    }
}
foreach ($tasks as $dueDate => $task)
{
    if (!empty($task))
    {
        echo $dueDate . "<br />";

        foreach ($task as $date)
        {
            echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" . $date . "<br />";
        }
    }
}

关于php - 如何在foreach循环中分离数据列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33412253/

相关文章:

php - Drupal 本地主机重定向到 www.localhost.com

php - 使用ajax从数据库中选取数据并保存最后选取的数据

php - 如何在 codeigniter url 中传递 base64encode 字符?

php - for 循环和 for while 嵌套在 list() 之间的区别

php - 如何从今天、上周或上个月插入的 MySQL 数据库中选择所有 Eloquent 模型?

php - PHP 中 iFrame 应用程序的 Facebook 授权

php - 如何将带有“(ISO-8859-1)字符的字符串转换为普通(UTF-8)字符?

php - MySQL float 被意外舍入

Python:一种更 Pythonic 的方式来遍历网格分类

c++ - For循环除数