|
|
|
| Есть переменные строкового типа, в которых лежат даты:
$variable1 = 12.05.2004
$variable1 = 7.11.2005
$variable1 = 6.08.1999
$variable1 = 1.12.2001 и т.д.
Подскажите, есть ли какая-нибудь функция, которая может выбрать из n дат 3 послених (самых свежих).
Или может есть другой способ, который поможет оптимально решить эту задачу. | |
|
|
|
|
|
|
|
для: nickmas
(18.06.2005 в 05:38)
| | Такую функцию написать можно, но сложно. Гораздо проще в твоем случае использовать timestamp (количество секунд, прошедших с начала компьютерной эры). Timestamp представляет собой многозначное целое число и вызывается функцией
$<имя_переменной>=time();
|
Думаю, ты сам понимаешь, что производить сортировку по целым числам гораздо проще.
В php есть стандартная функция для извлечения даты из timestamp'а, либо ты можешь написать свою, которая будет выводить дату/время в нужном тебе формате. | |
|
|
|
|
|
|
|
для: nickmas
(18.06.2005 в 05:38)
| | Хм... а имена переменных совпадают? Или даты храняться в массиве?
В любом случае, как правильно говорит FlashG, следует перевести даты в число секунд, прошедшее с 1 января 1970 года - тогда их будет проще сортировать и выбрать последние 3.
<?php
$variable1 = "12.05.2004";
list($day,$month,$year) = explode(".",$variable1);
$timestamp = mktime(0, 0, 0, $month, $day, $year);
echo $timestamp;
?>
|
| |
|
|
|