2013-04-19 3 views
2

저는 PHP에서 일하고 있는데 문자열 형식의 날짜 목록이 있습니다. 나는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; 
    } 
?> 

답변

3

귀하의 조건이 될 것으로 보인다 .. 나는 이것이 어쩌면 누군가가 나를 도울 수 있습니다 .. 작업을 얻이 수없는 것 .. 최신 하나를 얻을, 그리고 함수가 반환해야하고 싶습니다 반전 :

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

이해야합니다 그 값이 $cnt 이상 (이상) 낮은 경우

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

당신은 $ret을 덮어 쓸 것입니다. 첫 번째 반복에서는 $ret이 빈 문자열이되므로 항상 덮어 쓸 것입니다. 물론, strtotime('')은 항상 다른 어떤 것보다 항상 낮을 것이지만 그 구분을 만드는 것은 좋은 형태입니다.

+0

여전히 내가하는 일과 관계없이 항상 배열의 첫 번째 항목을 반환합니다. :/ –

+1

@ thefiscster510 날짜 형식이 잘못되었으므로 [here] (http : //codepad.viper-7)를 참조하십시오. .com/YGUr3O)을 작업 코드로 사용합니다. –

관련 문제