За последние 24 часа нас посетили 17735 программистов и 1701 робот. Сейчас ищут 1773 программиста ...

Превозмогания тред

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

  1. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    @Ganzalя понял что у тебя они вывелись потому, что у меня где-то не настроен вывод ошибок. Я написал как считаю.
    Код (Text):
    1. <?php
    2. error_reporting(E_ALL);
    3. ini_set('display_errors', 'on');
    4.     echo 60 - date(i);
    5. ?>
    Notice: Use of undefined constant i - assumed 'i' in E:\OpenServer\domains\php\04\4.4\3.php on line 4
    56
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @ubunta2 молодец, теперь исправь
     
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    пока не знаю
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @ubunta2 вместо константы строку подставить. Не очевидно?
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    не понял
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @ubunta2 Выпиши мне все мои сообщения на эту тему за последние пару часов.
     
  7. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Опаньки! Ошибочка-то есть!

    Объясняю. Ты пишешь скобка-ай-скобка. Пхп при разборе считает что это константа ай. При исполнении он не встречает константу ай - выводит нотис и подставляет вместо константы ай строку "ай". Строка "ай" воспринимается корректно функцией дэйт. Все счастливы. Только постоянно журнал пухнет от нотисов о которых ты даже не знаешь потому что у тебя их отображение не включено. Правильно писать код надо такой, который не сыпется нотисами и ошибками.

    Почему ничего не выводит в том варианте который я даю? Всё просто! Я объявляю константу ай и даю ей значение пустой строки. Когда при исполнении она встречается в аргументе дэйта - подставляется значение константы то есть пустая строка. А пустая строка в дэйте это никакой формат. Пустота. Ничего. Поэтому дэйт возвращает запрошенное ничего. Вот так вот просто я из твоего забагованного кода который вроде работает сделал код которые не сыпется нотисами но при этом нихрена не работает как должен.
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @ubunta2 Ну. Вместо константы подставить строку. Что и как - описано в том тексте, который ты скопировал. Там теоретическая часть твоей ошибки показана на практических действиях пхп-машины. Тебе же нужно совершить эти же практические действия на практике и тогда пхп-машина перестанет ругаться. Вместо константы подставить строку. Вместо константы подставить строку. Вместо константы подставить строку. Вместо константы подставить строку. Вместо константы подставить строку. Вместо константы подставить строку.
     
  9. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    непонятно
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Убунта еще не знает, что такое константа.
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @[vs] ну да, за 7.5 месяцев про константы конечно ещё рано знать. Он ж всего лишь книгу Котерова почитал.
     
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Как найти ошибку в своем коде?

    http://phpfaq.ru/debug
    --- Добавлено ---
    Тут надо пояснить, что
    1. если ты не видишь ошибок, это не значит, что их нет

    2. скрытые ошибки могут и будут иметь последствия где-то далее в коде
    Поэтому когда тебе указывают, что ошибки есть, их надо обнаружить и истребить, а не бубнить "у меня всё хорошо, ошибок нет". :)
     
  13. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    я знаю константы пи и подобное.
    про время пока нет.
     
  14. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Очень смешно. Я надеюсь имелось ввиду M_PI ?
     
  15. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    да
    это имел ввиду
     
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    время тут ни при чем. Тут дело в знании синтаксиса языка и того, как пхп-машина работает с константами.
     
  17. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @ubunta2 их не надо ко времени привязывать. Что ты за это зацепился-то?
     
  19. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    там же работа с временем
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @ubunta2 там - да. У тебя климакс в работе с константами. Ну и что теперь делать? Предлагаю изучить массивы. И функции работы с графикой тоже охуенно зайдут.
     
  21. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Загляните уже в описание функции date()
    Там ясно написано, что требуется переменная типа string
    Зачем туда константу пихать? К тому же не определённую.
     
  22. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Проблема в том, что @ubunta2 дал обет "не заглядывания в мануалы". ;)
     
  23. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Почему @ubunta2 так сильно тупит? Константа - это не только математические/физические цифры по типу: число pi=3,1416.. или g=9.8 и т.д.
    Константа может быть строковой, булевой. Например:
    const A='Привет'; - ООП (туда тебе еще рано лезть)
    и define("CONSTANT", "Hello world."); - в обычном PHP.
    Ты пытаешься запихнуть в Date не переменную, а константу. Константа - это постоянное число, которое никогда не меняется.
    PHP:
    1. //Так будет работать
    2. $i=0;
    3. echo date(i);
    4. //Или
    5. $i=time(); //Надеюсь, что такое time() объяснять не надо, но на всякий случай, ссылка ниже.
    6. echo date('d.m.Y h:i:s', $i);
    7. //Нельзя делать так
    8. define(i,'18274891');
    9. echo date(i);
    https://php.ru/manual/function.time.html
    Я честно, не понимаю, что сложного? Почему так долго доходит до тебя? Блин, как ты экзамены сдавал? Также долго изучал и задавал вопросы? Где самообразование без чей-либо поддержки?
    --- Добавлено ---
    Да, есть константы в date, но они находятся немного не там. date_sunrise, date_sunset - опять же, это отдельные функции. Туда, проще говоря, тебе нафиг лезть не надо. Эти функции использую очень редко.
    Не дай бог такого "программиста" устроить на работу в Google, Yandex или другие крупные проекты.
     
    #1773 Danil005, 15 фев 2018
    Последнее редактирование: 15 фев 2018
  24. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    он в киндер сюрпризе нашел свои два диплома энергетика...
     
  25. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Будет... При чем так же, как и у @ubunta2 - "Notice: Use of undefined constant i" ;)