在foreach循环中找到最早的日期

时间:2013-03-19 11:13:30

标签: php arrays datetime

我有一个循环遍历一组行的每个循环,每行都有一个安装日期,但我只希望从所有行循环中获得最早的安装日期,这可能是循环中的任何随机行。我该怎么做?我应该只创建一个日期数组然后对其进行排序,还是应该每次循环检查?代码示例最好。日期的格式仅为:2012-09-04

    foreach($lines as $line){


                $install_date = $line->installation_date_c;
                $water_cost = $line->water_cost_c;
                $energy_cost = $line->energy_cost_c;
                $oweeks = 52;
                $oyears = $line->operating_years_c;
                $default_curr = $line->currency_id;

         }

2 个答案:

答案 0 :(得分:3)

有很多方法可以实现这一点,也许是大致相同的事情?

$lowestDate = strtotime($lines[0]);
foreach($lines as $line){
    if(strtotime($line) < $lowestDate){
        $lowestDate = strtotime($line);
    }
}
echo "lowest date = " . date( 'y-m-d', $lowestDate);

答案 1 :(得分:0)

试试这个:

$lines  = your array;
$sort = array();
foreach($lines as $key=>$line){
    $install_date[$key] = $line->installation_date_c;
 }

array_multisort($install_date, SORT_DESC, $lines);

echo "<pre>";
print_r(current($lines));