Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как выделить текст исходя из текущего времени?

Как выделить текст исходя из текущего времени?


     10.11.2014    Общие вопросы по PHP    1011

вопрос
Здравствуйте уважаемые!
Не могу уже который день допереть как реализовать такую штуку.
Пишу модуль вывода недельной афиши\тв-программы\расписания уроков.
В выводе нужно сделать следующее:
Сегодня
08:00 Доброе утро
09:00 GoogleRules
11:15 ITNews
....

Если сейчас время скажем 8:44 то пусть выделяется тот пункт который находится между 09:00 и 8:00 то есть самый первый из списка.
Информация для работы имеет такой вид:

Array ( [04:20] => Тайные агенты. 13-я серия [05:10] => Салон Вероники. 8-я серия [05:40] => "Саша+Маша". Лучшее [06:05] => Пингвины из "Мадагаскара". 67-я серия [06:30] => Пингвины из "Мадагаскара". 68-я серия [07:00] => Турбо-агент Дадли. 21-я серия [07:30] => Рыцари Тенкай. 12-я серия [07:55] => Кунг-фу Панда: Удивительные легенды. 31-я серия [08:25] => Озорные анимашки. 61-я серия [09:00] => Дом-2. Lite [10:45] => Загадочная история Бенджамина Баттона [14:00] => Универ. 201-я серия - "Любовь-морковь [14:30] => Универ. Новая общага. 21-я серия [15:00] => Универ. Новая общага. 22-я серия [15:30] => Универ. Новая общага. 23-я серия [16:00] => Универ. Новая общага. 24-я серия [16:30] => Универ. Новая общага. 25-я серия [17:00] => Универ. Новая общага. 26-я серия [17:30] => Универ. Новая общага. 27-я серия - "Личное время" [18:00] => Универ. Новая общага. 28-я серия [18:30] => Универ. Новая общага. 29-я серия - "Романтика" [19:00] => Универ. Новая общага. 30-я серия - "Кристина + Антон" [19:30] => Универ. Новая общага. 31-я серия - "Монетка" [20:00] => Физрук. 21-я серия [20:30] => Физрук. 22-я серия [21:00] => Самый лучший фильм [22:35] => Физрук. 21-я серия [23:00] => Дом-2. Город любви [00:00] => "ДОМ-2.После заката". Спецвключение [01:00] => Обещать - не значит жениться [03:30] => Джоуи. 9-я серия - "Джо и Мюзикл" [04:00] => Джоуи. 10-я серия - "Джо и Холостяцкий День Благодарения" [04:25] => Только правда. 4-я серия )


То есть ключи массива являются показателем времени а значение является title


$seychas_vremya = date('H:i',strtotime('now')); //Подправил H:m -> H:i



Пожалуйста помогите реализовать совсем запарился =)
Спасибо заранее.

Ответа пока нет


Отредактировал 10-11-2014, 18:58 - cybernatic
Причина: Подправил H:m -> H:i

Комментарии пользователей (4)

vitnet
218

2171 | 930

vitnet - 10 ноября 2014 15:37 - Эксперт

Пробуйте
<?php

@error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
@ini_set('display_errors', true);
@ini_set('html_errors', true);
@ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE);

$a = array ( "[04:20]" => "Тайные агенты. 13-я серия", "[05:10]" => "Салон Вероники. 8-я серия", "[05:40]" => "\"Саша+Маша\". Лучшее", "[06:05]" => "Пингвины из \"Мадагаскара\". 67-я серия", "[06:30]" => "Пингвины из \"Мадагаскара\". 68-я серия", "[07:00]" => "Турбо-агент Дадли. 21-я серия", "[07:30]" => "Рыцари Тенкай. 12-я серия", "[07:55]" => "Кунг-фу Панда: Удивительные легенды. 31-я серия", "[08:25]" => "Озорные анимашки. 61-я серия", "[09:00]" => "Дом-2. Lite", "[10:45]" => "Загадочная история Бенджамина Баттона", "[14:00]" => "Универ. 201-я серия - \"Любовь-морковь\"", "[14:30]" => "Универ. Новая общага. 21-я серия", "[15:00]" => "Универ. Новая общага. 22-я серия", "[15:30]" => "Универ. Новая общага. 23-я серия", "[16:00]" => "Универ. Новая общага. 24-я серия", "[16:30]" => "Универ. Новая общага. 25-я серия", "[17:00]" => "Универ. Новая общага. 26-я серия", "[17:30]" => "Универ. Новая общага. 27-я серия - \"Личное время\"", "[18:00]" => "Универ. Новая общага. 28-я серия", "[18:30]" => "Универ. Новая общага. 29-я серия - \"Романтика\"", "[19:00]" => "Универ. Новая общага. 30-я серия - \"Кристина + Антон\"", "[19:30]" => "Универ. Новая общага. 31-я серия - \"Монетка\"", "[20:00]" => "Физрук. 21-я серия", "[20:30]" => "Физрук. 22-я серия", "[21:00]" => "Самый лучший фильм", "[22:35]" => "Физрук. 21-я серия", "[23:00]" => "Дом-2. Город любви", "[00:00]" => "\"ДОМ-2.После заката\". Спецвключение", "[01:00]" => "Обещать - не значит жениться", "[03:30]" => "Джоуи. 9-я серия - \"Джо и Мюзикл\"", "[04:00]" => "Джоуи. 10-я серия - \"Джо и Холостяцкий День Благодарения\"", "[04:25]" => "Только правда. 4-я серия" );

$b = date('H:i', strtotime('now'));

foreach ($a as $k => $v) {
    $k = str_replace( '[', '', $k );
    $k = str_replace( ']', '', $k );

    if( $b <= $k ) {
        echo $k . ': ' . $v . '<br />';
        break;
    }
}

?>

cybernatic
12

124 | 125

cybernatic - 10 ноября 2014 18:58 - Эксперт

Здравствуйте!
Видимо Ваш пример неправильно функционирует.
Необходимо просто вывести афишу и выделить то что сейчас идет на экране\урок идет и так далее..
Временем является ключ массива.Там не надо str_replace делать вообще.

Просто ищу не могу допереть (простите за путаницу в голове хаос творится) как можно указать временные промежутки из этого массива использовать.

Конечная цель ВЫДЕЛИТЬ то что сейчас актуально (по времени)

vitnet
218

2171 | 930

vitnet - 11 ноября 2014 11:28 - Эксперт

....

$b = date('H:i', strtotime('now'));
$c = array("<b>", "</b>");

foreach ($a as $k => $v) {
    $k = str_replace( '[', '', $k );
    $k = str_replace( ']', '', $k );

    if( $b <= $k ) {
        echo $k . ': ' . $c[0] . $v . $c[1] . '<br />';
        unset($c);
        //break;
    } else {
        echo $k . ': ' . $v . '<br />';
    }
}

cybernatic
12

124 | 125

cybernatic - 11 ноября 2014 12:01 - Эксперт

Красаучег :-)
То что надо, только чуууть чуть неверно обводит вот результат

04:20: Тайные агенты. 13-я серия
05:10: Салон Вероники. 8-я серия
05:40: "Саша+Маша". Лучшее
06:05: Пингвины из "Мадагаскара". 67-я серия
06:30: Пингвины из "Мадагаскара". 68-я серия
07:00: Турбо-агент Дадли. 21-я серия
07:30: Рыцари Тенкай. 12-я серия
07:55: Кунг-фу Панда: Удивительные легенды. 31-я серия
08:25: Озорные анимашки. 61-я серия
09:00: Дом-2. Lite
10:45: Загадочная история Бенджамина Баттона <--- А надо было его так как время 13:02
--->>>14:00: Универ. 201-я серия - "Любовь-морковь  <!---- Он выделил
14:30: Универ. Новая общага. 21-я серия
15:00: Универ. Новая общага. 22-я серия
15:30: Универ. Новая общага. 23-я серия
16:00: Универ. Новая общага. 24-я серия
16:30: Универ. Новая общага. 25-я серия
17:00: Универ. Новая общага. 26-я серия
17:30: Универ. Новая общага. 27-я серия - "Личное время"
18:00: Универ. Новая общага. 28-я серия
18:30: Универ. Новая общага. 29-я серия - "Романтика"
19:00: Универ. Новая общага. 30-я серия - "Кристина + Антон"
19:30: Универ. Новая общага. 31-я серия - "Монетка"
20:00: Физрук. 21-я серия
20:30: Физрук. 22-я серия
21:00: Самый лучший фильм
22:35: Физрук. 21-я серия
23:00: Дом-2. Город любви

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы