2016-04-15 3 views
3

Я не могу сортировать DateOfBirth. Это массив, указанный ниже.Я не могу сортировать данныеofbirth

Array ([DateOfBirth] => 17/December/1973) 
Array ([DateOfBirth] => 4/June/1981) 
Array ([DateOfBirth] => 2/March/1980) 
Array ([DateOfBirth] => 27/April/1970) 
Array ([DateOfBirth] => 9/October/1979) 
Array ([DateOfBirth] => 6/June/1979) 
Array ([DateOfBirth] => 16/October/1991) 

Пожалуйста, помогите мне, как отсортировать данные по дате. Благодарим вас.

+1

http://stackoverflow.com/a/27962054/1061944, немного поиска даст результаты –

+1

это может помочь http://stackoverflow.com/questions/14146520/невозможно-сортировать-date-using-usort – fiel

+0

Возможный дубликат [Сортировка массива по дате в порядке убывания по дате в php] (http://stackoverflow.com/questions/16733128/sort-array-by-date- in-descending-order-by-date-in-php) –

ответ

0

Ваш запрос shgould быть как

"SELECT DateOfBirth FROM table_name ORDER BY DateOfBirth DESC" 

Это сортирует дату рождения убывающем порядке.

0

эй вы можете использовать следующий способ сортировки даты, если любой запрос, вы можете спросить

<?php 

$dates = array("17 December 1973", "16 October 1991", "4 June 1981"); 

$clength = count($dates); 
for($x = 0; $x < $clength; $x++) { 

$unix[]=strtotime($dates[$x]); 

} 

sort($unix); 

$clength2 = count($unix); 
for($n = 0; $n< $clength2; $n++) { 


    $sort_date[] = date('d-F-Y ', strtotime(gmdate("d-m-Y", $unix[$n]) . ' +1  day')); 


} 

    echo "unsorted date array ";print_r($dates);//this will give source array  date value 

echo "<br>"; 
    echo "<br>"; 
echo "<br>"; 
echo "sorted date array ";print_r($sort_date); //this will give sorted date 


?> 
+0

Спасибо, сэр, он отлично работает. – sreedhar

0

Здесь является формат даты, которые будут использоваться, если вы используете полный месяц. Измените формат даты на d-M-Y. Здесь производится сортировка дата работала нормально

<?php 
$data = array(
array(
    "date" => "17-December-1973" 
), 
array(
    "date" => "4-June-1981" 
), 
array(
    "date" => "2-March-1980" 
), 
array(
    "date" => "27-April-1970" 
), 
array(
    "date" => "9-October-1979" 
) 
); 

function sortFunction($a, $b) { 
return strtotime($a["date"]) - strtotime($b["date"]); 
} 
usort($data, "sortFunction"); 

foreach($data as $key) 
echo $key["date"]."<br/>"; 
?> 
+0

Большое спасибо, сэр, он отлично работает. – sreedhar

Смежные вопросы