1

我有一个 for each 循环,它遍历一组行,每行都有一个安装日期,但我只想从所有循环的行中获取最早的安装日期,这可以是循环中的任何随机行。我该怎么做?我应该只创建一个日期数组然后对其进行排序,还是应该在每次循环时检查它?最好有一个代码示例。日期的格式很简单: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;

         }
4

2 回答 2

5

有很多方法可以做到这一点,也许大致是这样的?

$lowestDate = strtotime($lines[0]);
foreach($lines as $line){
    if(strtotime($line) < $lowestDate){
        $lowestDate = strtotime($line);
    }
}
echo "lowest date = " . date( 'y-m-d', $lowestDate);
于 2013-03-19T11:19:28.380 回答
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));
于 2013-03-19T11:18:26.267 回答