За последние 24 часа нас посетили 103082 программиста и 5651 робот. Сейчас ищут 2346 программистов ...

Определение цвета светофора

Тема в разделе "PHP для новичков", создана пользователем Renton80, 26 июн 2016.

  1. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Во-вторых - забей на этот древний предрассудок и пользуйся буферами вывода. ob_start() в начале кода и...и вообще плевать, что в каком порядке ты пишешь. Передано все будет в правильном.
     
  2. merOsever

    merOsever Новичок

    С нами с:
    26 апр 2017
    Сообщения:
    10
    Симпатии:
    0
    Адрес:
    Беларусь
    В задаче упоминались только зеленый/красный цвета ))
     
  3. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @merOsever
    Все сори, не дочитал значит, эт получается не светофор а включить выключить :D шучу :D
     
  4. Artoron

    Artoron Новичок

    С нами с:
    2 май 2019
    Сообщения:
    2
    Симпатии:
    0
    По факту, в реальном мире все это делается проще. Если пользователь передает данные через форму, то мы их получим в виде строки, из которой в дальнейшем нужно будет извлечь минуты, инными словами тут нам уже понадобятся функции для разбора строк. В таком случае еще необходимо будет сделать проверку на формат времени, т. е. 1:30 или 01:30, кто то может и через пробел / дефис указать число (это можно сделать через preg_match - в примере не реализовал), если время не выбирается явно из выпадающего списка.

    PHP:
    1. function streetLight(string $time)
    2. {
    3.     $minutes = (int) mb_strimwidth($time, 3, 2);
    4.     $designator = $minutes % 5;
    5.  
    6.     if ($designator >= 0 && $designator < 3) {
    7.         $color = 'Green';
    8.     } else {
    9.         $color = 'Red';
    10.     }
    11.     return $color;
    12. }
    13.  
    14. $color = streetLight('12:22');
    15. echo $color;