За последние 24 часа нас посетили 71543 программиста и 10246 роботов. Сейчас ищут 2907 программистов ...

Переменная возвращает не то, что нужно

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

  1. FrozenShift

    FrozenShift Новичок

    С нами с:
    6 янв 2017
    Сообщения:
    2
    Симпатии:
    1
    Добрый день!
    В ниже приведенном коде, по неясным мне причинам переменная $dayx, которая равняется "6". возвращает цифру "7".

    PHP:
    1. <?php
    2. date_default_timezone_set('Asia/Yakutsk');
    3. // $day = date('N');
    4. // $date = date('G:i');
    5.  
    6. $date = "10:00";
    7. $dayx = "6";
    8.  
    9. $a = '10:00' ; // Открытие пн-сб
    10. $b = '19:00' ; // Закрытие пн-пт
    11. $c = '18:30' ; // Скоро закроется пн-пт
    12. $d = '16:00' ; // Закрытие СБ, ВС
    13. $f = '11:00' ; // Открытие ВС
    14.  
    15. //Суббота
    16.  
    17. if (($dayx = "6" AND $date >= "$a") OR ($dayx = "6" AND $date <= "15:29"))
    18. {
    19.     $collor = "green";
    20.     $textc = "Открыто";
    21. }
    22. elseif (($dayx = "6" AND $date >= "15:30") OR ($dayx = "6" AND $date <= "15:59"))
    23. {
    24.     $collor = "orange";
    25.     $textc = "Скоро закроется";
    26. }
    27. elseif (($dayx = "6" AND $date >= "16:00") OR ($dayx = "6" AND $date <= "9:59"))
    28. {
    29.     $collor = "red";
    30.     $textc = "Закрыто";
    31. }
    32.  
    33. //Восскресенье
    34.  
    35. if (($dayx = "7" AND $date >= "$f") OR ($dayx = "7" AND $date <= "15:29"))
    36. {
    37.     $collor = "green";
    38.     $textc = "Открыто";
    39. }
    40. elseif (($dayx = "7" AND $date >= "15:30") OR ($dayx = "7" AND $date <= "15:59"))
    41. {
    42.     $collor = "orange";
    43.     $textc = "Скоро закроется";
    44. }
    45. elseif (($dayx = "7" AND $date >= "16:00") OR ($dayx = "7" AND $date <= "10:59"))
    46. {
    47.     $collor = "red";
    48.     $textc = "Закрыто";
    49. }
    50.  
    51. echo "<br>";
    52. echo "$dayx";
    53. echo "<br>";
    54. echo "$date";
    55. ?>
     
    #1 FrozenShift, 17 июн 2017
    Последнее редактирование: 17 июн 2017
  2. Aleksanbr_77

    Aleksanbr_77 Новичок

    С нами с:
    31 янв 2016
    Сообщения:
    73
    Симпатии:
    2
    Не верно прописано условие (($dayx="7" AND $date>="15:30") OR ($dayx="7" AND $date<="15:59"))
    пролбуй не присваивать $datyx = "7" a проверять равно ли $datyx == "7". Ты просто присвоил $datyx Значение 7 и рнр машина не считает это ошибкой, хотя тут ошибка в логике, Надо проверять $datyx == "7"!
     
    san4ez и FrozenShift нравится это.
  3. FrozenShift

    FrozenShift Новичок

    С нами с:
    6 янв 2017
    Сообщения:
    2
    Симпатии:
    1
    Спасибо. Тему можно закрыть
     
    denis01 нравится это.