我需要从使用PHP的给定数组中找到最大和最小日期。如何查找数组中的最大和最小日期?
我有$ date_arr其中包含以下值,
$date_arr = array('0'=>'20-05-2015','1'=>'02-01-2015','2'=>'30-03-2015');
在这里,我需要得到更大的日期'20 -05-2015' 和最小日期'02 -01-2015' 。
我怎样才能做到这一点?
我需要从使用PHP的给定数组中找到最大和最小日期。如何查找数组中的最大和最小日期?
我有$ date_arr其中包含以下值,
$date_arr = array('0'=>'20-05-2015','1'=>'02-01-2015','2'=>'30-03-2015');
在这里,我需要得到更大的日期'20 -05-2015' 和最小日期'02 -01-2015' 。
我怎样才能做到这一点?
<?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];
?>
请试试这个
$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));
我得到了这个结果最大日期是:30-03-2015Min日期是:02-01-2015。但在上面的数组'20 -05-2015'是最大日期。 – 2015-02-24 05:35:09
ohh对不起,你正在使用'印度日期格式d-m-y',请检查编辑后的答案..谢谢 – 2015-02-24 05:52:46
它为我工作。谢谢你的帮助。 – 2015-02-24 05:56:48
终于你找到了很好的答案? – 2017-05-17 14:32:07