Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: сортировка по времени
 
 автор: simplyv   (17.03.2008 в 19:52)   письмо автору
 
 

Каким образом можно допустим задать время и выбрать из списка наиболее близкое.
Вообще можно сортировать по времени?
Спасибо.

   
 
 автор: Wunderbar   (17.03.2008 в 19:55)
 
   для: simplyv   (17.03.2008 в 19:52)
 

Время - числа. Числа сортировать можно от меньшего к большему: 0, 1, 2, 3, 4, 5, ...; От большего к меньшему: 5, 4.5, 2, 1.

   
 
 автор: simplyv   (17.03.2008 в 21:19)   письмо автору
 
   для: Wunderbar   (17.03.2008 в 19:55)
 

Ну да можно сортировать целые, десятичные .. а вот время допустим сейчас 13:00 и я хочу, чтобы было выбрано ближайшее время из списка. не знаю с чего начать, от чего оттолнуться.

   
 
 автор: Gemorroj   (17.03.2008 в 22:12)   письмо автору
 
   для: simplyv   (17.03.2008 в 21:19)
 

http://wapinet.ru/forum/viewtopic.php?id=39

   
 
 автор: Wunderbar   (18.03.2008 в 01:13)
 
   для: simplyv   (17.03.2008 в 21:19)
 

<?php

function return_diff($t1$t2)
{
    
$t1 explode(':'$t1);
    
$t2 explode(':'$t2);

    
$m1 $t1[0] * 60 $t1[1];
    
$m2 $t2[0] * 60 $t2[1];

    
$diff abs$m1 $m2 );

    return ( 
$diff 12 60 ) ? abs24 60 $diff ) : $diff;
}

function 
cmp($a$b)
{
    global 
$time;
    
    
$diff_a return_diff($a$time);
    
$diff_b return_diff($b$time);

    if( 
$diff_a == $diff_b )
    {
        return 
0;    
    }

    return (
$diff_a $diff_b) ? -1;
}

// Время
$time '00:15';
// Список
$time_arr = array('23:30''01:00''15:00');

usort($time_arr'cmp');

print_r($time_arr);
?>

   
 
 автор: simplyv   (18.03.2008 в 12:00)   письмо автору
 
   для: Wunderbar   (18.03.2008 в 01:13)
 

Спасибо всем за участие и очень разнообразную помощь. Есть достаточно пищи для размышления.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования