if (const) - что делает?

loopik

Новичок
if (const) - что делает?

Прошу сразу не пинать, так как php меня в университете не учили, я сам учился по книгам, потому возможно где-то пропустил самые азы.
Меня интересует, что делает конструкция if не имеющяя условий, которой передается только переменная.

Пример кода:

$code = "Something";

if ($code) print "GOOD!";

Что в данном случае делает if??? Проверяет на isset? На true false или еще на что-то?

Меня интересует данный вопрос потому, что при отсутствии определенной переменной в ходе работы скрипта, выдается notice что переменная не определена. Советовать отключить вывод нотисов и ошибок мне не надо, я хочу 100 корректный код.

Собственно вопрос:

Будет ли запись

$code = "Something";
if ($code) print "GOOD!";


равносильна записи

$code = "Something";
if (isset($code)) print "GOOD!";

А если $code=0 оно проверят 0 и 1 тоесть true и false ??

------
Всетаки здравый смысл подсказывает, что должно проверять на isset если указана только переменная без условий, но когда я в своем коде заменил if ($code) на if (isset($code)) стали ложно срабатывать некоторые участки кода где раньше было if ($code).

В общем жду комментарий специалистов, дабы до конца познать азы PHP - уж очень велика тяга к знаниям. :)
Чтоже проверят в таких случаях if ? :confused: :(
 

Гравицапа

elbirret elcno
http://www.php.net/manual/en/language.control-structures.php#control-structures.if
[m]isset[/m]
[m]empty[/m]
Будет ли запись

$code = "Something";
if ($code) print "GOOD!";


равносильна записи

$code = "Something";
if (isset($code)) print "GOOD!";
нет
Меня интересует данный вопрос потому, что при отсутствии определенной переменной в ходе работы скрипта, выдается notice что переменная не определена.
Переменные надо инициализировать перед их использованием.
 

loopik

Новичок
Ничего непонял, по одной версии проверяет на emty по второй на тип переменной, я уже запутался, подскажите русскими словами, какое условие выполнятся без условия, тоесть если передаеш в if только переменную. Спасибо.
 

С.

Продвинутый новичок
loopik, аргументом if'а предполагается логическая величина (true/false). Если подано значение какого-либо другого типа, то оно будет преведено к логическому (см. ссылку Фаната).
 
Сверху