Мне нужно найти максимальную и минимальную дату из заданного массива с помощью PHP.
У меня есть $ date_arr, который содержит следующие значения,
$date_arr = array('0'=>'20-05-2015','1'=>'02-01-2015','2'=>'30-03-2015');
Здесь мне нужно получить большую дату как «20 -05-2015», а минимальную дату – «02201-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('Ymd H:i:s', strtotime($date_arr[$i])); $min_date = date('Ymd H:i:s', strtotime($date_arr[$i])); } else if ($i != 0) { $new_date = date('Ymd 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('dm-Y',strtotime($max_date)); echo date('dm-Y',strtotime($min_date));