2

我正在使用 php,我有一个字符串格式的日期列表。我想获得最新的,并让函数返回它..我似乎无法让它工作..也许有人可以帮助我..

<?php
    $list_of_dates = array("04/17/1999 05:15 AM - CST", "04/17/2000 05:18 AM - CST", "04/17/2000 05:19 AM - CST");

    function getLatestDate($in){
        $ret = ""; 
        foreach($in as &$date){
         $cnt = strtotime($date);
         if(strtotime($ret) > $cnt){
            $ret = $date;
         }
        }

        return $ret;
    }
?>
4

1 回答 1

3

你的情况似乎颠倒了:

if(strtotime($ret) > $cnt){
        $ret = $date;
     }

应该:

if ($ret === '' || strtotime($ret) < $cnt){
        $ret = $date;
     }

如果$ret它的值低于(旧)于$cnt. 在第一次迭代$ret中将是空字符串,所以你总是想覆盖它;当然,strtotime('')可能总是比其他任何东西都低,但这是区分的好形式。

于 2013-04-19T04:05:50.707 回答