За последние 24 часа нас посетили 39774 программиста и 1285 роботов. Сейчас ищут 1242 программиста ...

Вопрос про or die и null

Тема в разделе "PHP для новичков", создана пользователем machetero, 6 дек 2014.

  1. machetero

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

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Сталкивался много раз с такой конструкцией
    Код (Text):
    1.  
    2. $result = mysqli_query($dbcon, "SELECT * WHERE id=1")
    3.     or die("Invalid query: " . mysqli_error());
    Вопрос. Прокатит ли or die после какой нибудь другой функции, если она возвращает FALSE? Или я так подозреваю это работает только в этом случае запросов к бд.

    И ещё вопрос . Если значение переменной не установленно то у неё тип null ? Я так понимаю при сравнении переменной без значения с null при помощи == будет TRUE, а при помощи === ,будет FALSE.
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    если переменная не установлена у нее тип NULL, да :D и она соответственно всегда равна (==) и тождественна (===) NULL'у
    но вы не путайте с переменной, которая не объявлена. у нее нет типа ибо она не существует. тонкая грань, понимаю.

    or die может быть продолжением любой конструкции которая может трактоваться как логическая истина/ложь. в данном случае если не выполнился запрос то переменная резалт не будет содержать ресурса запроса а будет содержать ложное значение. на него-то и набросится ор-дай.
     
  3. machetero

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

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    С пониманием этого момента проблем нету. Спасибо за разъяснения.
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не надо вообще так делать.