empty и E_NOTICE

Не относящиеся к фреймворку и программированию вопросы
Ответить
Аватара пользователя
sergebezborodov
Сообщения: 133
Зарегистрирован: 2010.06.10, 19:53
Откуда: Dnepropetrovsk-Sevastopol, UA
Контактная информация:

empty и E_NOTICE

Сообщение sergebezborodov »

Приветствую!

На работе возник глупейший спор: когда требуется проверить неизвестную переменную на пустоту следует писать

Код: Выделить всё

if (isset($x) && !empty($x)) 
т.к. empty может выкинуть нотис для не объявленной переменной.

Я же стал утверждать обратное, т.к. empty по сути содержит внутри себя проверку на isset и будет достаточно

Код: Выделить всё

if (!empty($x)) 
Было проверено в php 5.3, 5.2, 4 - нотиса так и не увидели, но тем не менее мнение у всех непреклонно - что empty когда то оно выкидывало нотисы

Собственно вопрос:
Кто прав? Встречали ли вы в своей практике нотисы для empty и если да, то как можно это воспроизвести

Благодарю
A passion to perform
http://sergebezborodov.com
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: empty и E_NOTICE

Сообщение Nafania »

Код: Выделить всё

    if (!empty($x)) 
этот вариант верен.

В мане
empty() is the opposite of (boolean) var, except that no warning is generated when the variable is not set => нотис не выкинет.
SpiLLeR
Сообщения: 350
Зарегистрирован: 2009.09.17, 16:47
Откуда: Санкт-Петербург
Контактная информация:

Re: empty и E_NOTICE

Сообщение SpiLLeR »

Точно раньше встречал ситуацию, когда empty() кидал нотис если такого ключа у массива не было.
Предупрежден - значит вооружен.
devKP.ru
Ответить