Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Стоит ли использовать isset() и empty() для проверки переменных?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
qtk
Отправлено: 28 Августа, 2013 - 21:02:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Достаточно ли надежность такого способа:
PHP:
скопировать код в буфер обмена
  1.  
  2. $a=null;
  3. if(!$a)
  4. {
  5.     //тут код выполнения
  6. }
  7.  

то есть ни каких isset() и empty() или же лучше их использовать?

(Отредактировано автором: 28 Августа, 2013 - 21:03:10)

 
 Top
LIME
Отправлено: 28 Августа, 2013 - 21:38:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ты сам только что инициализировал переменную
тут не то что иссет, тут проверку делать нафиг))
сразу код))
 
 Top
qtk
Отправлено: 28 Августа, 2013 - 21:40:17
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Не понял юмора
(Добавление)
Тогда так
PHP:
скопировать код в буфер обмена
  1.  
  2. $a=4;
  3. if($a)
  4. {
  5.     //тут код выполнения
  6. }
  7.  
 
 Top
LIME
Отправлено: 28 Августа, 2013 - 21:56:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а его и нет...понимай буквально
и тут нафиг условие?
всегда тру
сюрпризов не будет))
сразу код фигачь))
 
 Top
qtk
Отправлено: 28 Августа, 2013 - 21:58:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




да это просто пример, а не конкретная ситуация!!!
 
 Top
IllusionMH
Отправлено: 28 Августа, 2013 - 21:59:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




qtk, использовать в том случае, когда переменные берутся извне.
 
 Top
qtk
Отправлено: 28 Августа, 2013 - 22:01:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Спасибо. а чем это про аргументируете?!
 
 Top
LIME
Отправлено: 28 Августа, 2013 - 22:06:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я как раз понимаю что пример))
но вот ответ зависит как раз от конкретной ситуации
(Добавление)
если есть возможность что неустановлена то надо
аргумента легкости отладки из-за отсутствия нотайсов должно хватить
 
 Top
IllusionMH
Отправлено: 28 Августа, 2013 - 22:25:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




qtk, код нужно писать подробно, но без перегибов. А если еще 2 переменный объявить, и 2 условия вложенными прописать? На следующее утро будет понятней код?

А вот если существование переменной/элемента массива/и т.п. зависит от внешних условий - тогда проверять стоит.
 
 Top
qtk
Отправлено: 28 Августа, 2013 - 22:29:34
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




IllusionMH пишет:
А вот если существование переменной/элемента массива/и т.п. зависит от внешних условий - тогда проверять стоит.
мне интересно почему вы так думаете, тут же все типично или есть данные или их нет и не важно откуда взяты, ведь я не стораюсь проверить тип данных, а только их наличие
 
 Top
IllusionMH
Отправлено: 28 Августа, 2013 - 22:38:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




qtk, я привел пример выше. Если проверять каждую переменную, то можно будет кодить до бесконечности.\
Я или сам задам переменную, или она будет инициализирована в условии либо получена извне(а это уже не факт и стоит проверять)

(Отредактировано автором: 28 Августа, 2013 - 22:40:17)

 
 Top
VestCoastman
Отправлено: 28 Августа, 2013 - 22:40:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 374
Дата рег-ции: Дек. 2010  


Помог: 3 раз(а)




Зачем проверять переменную, которую вы прежде инсталиризировали на существование?
if($a) - проверяется подобно !empty, т.е. возвращает либо true либо false, только empty еще проверять пустоту строки и что-то еще, не помню.
А вообще выше написано, что нужно проверять
Цитата:
qtk, использовать в том случае, когда переменные берутся извне.
 
 Top
qtk
Отправлено: 28 Августа, 2013 - 22:46:18
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




ЕЩЕ РАЗ ПИШУ ВОПРОС
есть ли разница
PHP:
скопировать код в буфер обмена
  1.  
  2. $a=4;
  3. if($a)
  4. {
  5.     //тут код выполнения
  6. }
  7. и
  8. $a=4;
  9. if(!empty($a))
  10. {
  11.     //тут код выполнения
  12. }
  13. может в корректности обработки или в безопасности?
  14.  

(Отредактировано автором: 28 Августа, 2013 - 22:46:44)

 
 Top
lawer85
Отправлено: 29 Августа, 2013 - 10:40:24
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013  


Помог: 1 раз(а)




qtk пишет:
ЕЩЕ РАЗ ПИШУ ВОПРОС
есть ли разница
PHP:
скопировать код в буфер обмена
  1.  
  2. $a=4;
  3. if($a)
  4. {
  5.     //тут код выполнения
  6. }
  7. и
  8. $a=4;
  9. if(!empty($a))
  10. {
  11.     //тут код выполнения
  12. }
  13. может в корректности обработки или в безопасности?
  14.  



вот тебе конкретная ситуация если данные брать из хтмл формы то нужно бы проверить иссетом факт ее отправки
 
 Top
LIME
Отправлено: 29 Августа, 2013 - 10:49:17
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB