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
Форумы портала PHP.SU :: Версия для печати :: Проверка $_GET[] и $_POST[] [2]
Форумы портала PHP.SU » Разное » Обсуждение статей » Проверка $_GET[] и $_POST[]

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

16. Мелкий - 06 Апреля, 2011 - 21:09:14 - перейти к сообщению
IgVlGr пишет:
9)Выводы?

Вывод: эти функции действуют строго так, как описаны в мануале.
17. DeepVarvar - 06 Апреля, 2011 - 23:03:08 - перейти к сообщению
Мелкий:
Вариант 1:

Вариант 2:
PHP:
скопировать код в буфер обмена
  1. $a = "0";
  2. if ($a == "") echo "empty";

IgVlGr выводы?
18. Мелкий - 06 Апреля, 2011 - 23:11:34 - перейти к сообщению
DeepVarvar, ну? Точно так, как написано в мане. В мане описаны все варианты, которые empty считает empty.
И именно поэтому в первом своём сообщении в этой теме:
Мелкий пишет:
Ну и надо всё равно понимать, что проверяет каждая из функций.
19. OrmaJever - 06 Апреля, 2011 - 23:12:43 - перейти к сообщению
EuGen пишет:
Насчет поведения - с php 4 оно всегда таким было.

Несогласен. У меня раньше бы php 5.1.1 и функция empty выдавала notice про неустановленую переменую! Такую ошибку не выдавала только isset ! И это факт! Сечас 5.3.5 и такой ошибки нету, но то что было в 5.1.1 это факт!
20. DeepVarvar - 06 Апреля, 2011 - 23:15:56 - перейти к сообщению
OrmaJever да
(Добавление)
php3:
empty() возвращает false, если var существует и имеет не пустое или не нулевое значение; true в обратном случае.

Еще момент про четверку:
http://www.php[dot]ru/manual/migration4[dot]empty[dot]html
(Добавление)
Начиная с PHP 5, объекты без свойств более не считаются пустыми.

И вообще на кой черт мы тут спорим?
Я скажу только что никогда не использую empty(), потому как тоже нарвался на нотайс.
Я проверяю на пустоту if ($var == "") true;
И буду делать так в дальнейшем, потому, что вижу КАК оно работает.
Зато не буду зависеть от изменений поведения от версии к версии.
21. EuGen - 07 Апреля, 2011 - 09:15:11 - перейти к сообщению
Можно на досуге проверить, чтобы развеять миф о php 5.1 С php 4 наблюдал отсутствие Notice, что согласуется с документацией.
Но empty не использую потому что не согласен с тем, что 0 и "0" - пустые значения, они часто пригождаются.
22. IgVlGr - 11 Апреля, 2011 - 19:21:39 - перейти к сообщению
DeepVarvar пишет:
Да, но то что вы привели, не дает ответа на вопрос: Что вернет empty если переменная не будет объявлена или равна NULL?

true
23. MAXUS - 11 Апреля, 2011 - 19:31:01 - перейти к сообщению
А чем не устраивает этот вариант?
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if($_POST['n']){echo $_POST['n']; }else{echo 'Ошибка';};
  4. ?>
  5.  
24. EuGen - 12 Апреля, 2011 - 07:41:31 - перейти к сообщению
Сделайте до этой Вашей проверки вызов:

- увидите разницу как минимум в Notice. Да и неявное приведение к типу boolean не всегда устраивает.

 

Powered by ExBB FM 1.0 RC1