Forum Webscript.Ru

Программирование => PHP => Тема начата: Chpock от 03 Февраля 2002, 03:43:31

Название: проверка наличия переменной
Отправлено: Chpock от 03 Февраля 2002, 03:43:31
почему "крутые" скрипты проверяют наличие переменной так - if(isset($var)&&($var!=""))? я всю жизнь просто проверял на пустоту и все было оК..... кто прав?
Название: проверка наличия переменной
Отправлено: Britva от 03 Февраля 2002, 03:56:47
Chpock
ну проверишь ты на пустоту, а если тебе дают переменную пустую? причем, например, существует обработка такого варианта? ...

Если ты поставишь уровень сообщения об ошибках на E_ALL то посмотри что будет с твоим скриптом!

P.S. Кстати, и это не "крутые" скрипты, а просто правильно написаные и отлаженые...
Название: проверка наличия переменной
Отправлено: Patlaty от 03 Февраля 2002, 05:40:05
для примера, в строке GET пишешь http://....smth.php?var1=aaa&var2=&var3=bbb
переменная var2 установленна, но она пустая, т.е. var2==\'\'
такие строки встречаются часто, если у тебя зараннее задан формат передачи данных, и это очень удобно, если все время работать с одной установленной структурой данных - тебе не нужно все время составлять строку при передаче в другой файл - ее гораздо легче написать сразу, а потом проверять на выходе той самой "крутой" проверкой. В определенных случаях это очень хороший стиль.
Название: проверка наличия переменной
Отправлено: Chpock от 03 Февраля 2002, 06:28:44
я понимаю что так проверять правильно и логично, но если я знаю что переменная не должно быть пуста, например, имя юзера и проверяю как if($username!="") - это мне чем то черевато?
Название: проверка наличия переменной
Отправлено: Britva от 03 Февраля 2002, 13:06:48
Chpock
Ты попробуй так включи в php.ini error_reporting=E_ALL; и увидишь скока тебе ворнингов вылетит, кстати, так же криво написаны php-nuke/xmb/....

Цитировать
я понимаю что так проверять правильно и логично, но если я знаю что переменная не должно быть пуста, например, имя юзера и проверяю как if($username!="") - это мне чем то черевато?

тогда уж if(@$username != "") чтобы не показывать ворнинги.
Название: проверка наличия переменной
Отправлено: от 24 Февраля 2002, 06:09:28
а чем empty не устраивает? зачем нужно isset и еще одну проверку?

if (empty($var)) {  // evaluates true
    echo "$var is either 0 or not set at all";
}
Название: проверка наличия переменной
Отправлено: ThE0ReTiC от 24 Февраля 2002, 22:20:25
Felenka
А просто переменная может быть не empty, однако не хранить необходимого тебе значения.
Название: проверка наличия переменной
Отправлено: от 25 Февраля 2002, 03:18:04
ThE0ReTiC
сорри, я нечетко сформулировала мысль :)))

чем лучше

Цитировать
if ( isset($var) && ($var!="") )


или

Цитировать
if( @$username != "" )  


 и чем хуже

Цитировать
if ( !empty($var) )


?
Название: проверка наличия переменной
Отправлено: ThE0ReTiC от 25 Февраля 2002, 12:18:00
В принципе ничем.