2015-02-24 163 views
4

我需要從使用PHP的給定數組中找到最大和最小日期。如何查找數組中的最大和最小日期?

我有$ date_arr其中包含以下值,

$date_arr = array('0'=>'20-05-2015','1'=>'02-01-2015','2'=>'30-03-2015'); 

在這裏,我需要得到更大的日期'20 -05-2015' 和最小日期'02 -01-2015' 。

我怎樣才能做到這一點?

+0

終於你找到了很好的答案? – 2017-05-17 14:32:07

回答

6
<?php 

$date_arr=array(0=>'20-05-2015',1=>'02-01-2015',2=>'30-03-2015'); 

usort($date_arr, function($a, $b) { 
    $dateTimestamp1 = strtotime($a); 
    $dateTimestamp2 = strtotime($b); 

    return $dateTimestamp1 < $dateTimestamp2 ? -1: 1; 
}); 

echo 'Min: ' . $date_arr[0]; 
echo '<br/>'; 
echo 'Max: ' . $date_arr[count($date_arr) - 1]; 


?> 
0

請試試這個

$date_arr = array('0' => '20-05-2015', '1' => '02-01-2015', '2' => '30-03-2015'); 
for ($i = 0; $i < count($date_arr); $i++) 
{ 
    if ($i == 0) 
    { 
     $max_date = date('Y-m-d H:i:s', strtotime($date_arr[$i])); 
     $min_date = date('Y-m-d H:i:s', strtotime($date_arr[$i])); 
    } 
    else if ($i != 0) 
    { 
     $new_date = date('Y-m-d H:i:s', strtotime($date_arr[$i])); 
     if ($new_date > $max_date) 
     { 
      $max_date = $new_date; 
     } 
     else if ($new_date < $min_date) 
     { 
      $min_date = $new_date; 
     } 
    } 
} 
echo date('d-m-Y',strtotime($max_date)); 
echo date('d-m-Y',strtotime($min_date)); 
+0

我得到了這個結果最大日期是:30-03-2015Min日期是:02-01-2015。但在上面的數組'20 -05-2015'是最大日期。 – 2015-02-24 05:35:09

+0

ohh對不起,你正在使用'印度日期格式d-m-y',請檢查編輯後的答案..謝謝 – 2015-02-24 05:52:46

+0

它爲我工作。謝謝你的幫助。 – 2015-02-24 05:56:48

相關問題