Использование NULL вместо инструкции для конструкции if ()

Sunday

Cōgitō ergō sum
Регистрация
13 Дек 2009
Сообщения
823
Реакции
342
Правильно ли использовать такую конструкцию?
PHP:
if(isset($var)) NULL;
else {...}
У меня это работает, но хотелось бы знать не вылезет ли это боком при каких-нибудь обстоятельствах.
 
обычно так пишут
PHP:
if(!isset($var)){
 
}
 
Я это понимаю, но интересуюсь с целью самообучения. Т.к. примеров подобного применения не нашел.
 
Давай по буквам разберем.
1. Сначала такой код:
PHP:
<?php
    5;
    echo 3;
?>
5; - это просто выражение без присваивания, оно вычисляется (можно написать точно так же и 5+3 допустим) но никуда не сохраняется, в php это вполне допускается во всех версиях.

2. Теперь то же самое, но с NULL.
PHP:
<?php
    NULL;
    echo 3;
?>
Все точно то же. NULL - всего лишь специальная константа. Допустимо, хотя и бессмысленно.

3. Теперь к твоему примеру. Если установлено значение $var то вычислить выражение и никуда его не сохранять, если нет - то выполнить действия. Я не вижу обстоятельств, при которых это может вызвать проблемы. Константа NULL из php исчезнет? Запретят записывать выражения без присваивания? В общем проблем нет.

4. Imho более элегантно записать то что ты хочешь вот так
PHP:
<?php
    if(isset($var)) {}
    else {...}
?>
или хотя бы так
PHP:
<?php
    if(isset($var)) ;
    else {...}
?>
лично мне бы в чужом коде этот NULL резанул глаза, а просто точка с запятой или (гораздо лучше) пустые фигурные скобки подразумевают "эту ветку пока не сделали, оставили для будущего чтобы потом не думать куда вписать кусок кода". Пустые скобки кстати принято в таких случаях писать, по крайней мере у нас было.

5. Ну и наконец банальщина. Надеюсь ты спросил потому что та ветка - это заделка на будущее, а не потому что ты не знаешь конструкции
PHP:
<?php
    if(!isset($var)) {...}
?>


PS Что с питона перешел? по "pass" скучаешь? :)
PPS Ты как тему-то назвал? Что "NULL"? Ну понадеемся что latteo переименует
 
А тему назвал просто NULL, т.к. это раздел PHP и какой здесь еще может быть NULL? :)
 
А тему назвал просто NULL, т.к. это раздел PHP и какой здесь еще может быть NULL? :)

Не информативное (бессмысленное) название темы - на 3 дня мог бы в бан отправить...

NULL можно по разному использовать...

По моему мнению, название: "Использование NULL вместо инструкции для конструкции if ()", - более информативно :)
 
Назад
Сверху