Простой и может немного странный вопрос, но все же хочется узнать. Что лучше и как правильней?
if(isset($data[26])!=1){
или
if(isset($data[26]) && $data[26]!=1){
Как я понимаю, лучше второй вариант? Так как в первом случае если будет сравнение на совпадение и переменная будет не объявлена, то может сразу образовываться null ==1
Или ошибаюсь?
Надо еще добавить, что первый и сам по себе бессмысленный, поскольку сравнивает булево значение с числом. И в нормальном варианте должен писаться, как if(!isset($data[26])){
Знаю, что глупый. Просто просматривал недавно много разных примеров кодов с isset, когда искал ответы на другие вопросы то пару раз встречал как люди в примерах писали первый вариант, вот и задумался, а вообще реально ли это
ладно, не совсем обычное, говнокодец конечно. но встретить такое можно.
а второй пример скорее всего автор уже сам "додумал", неправильно поняв первый.
Сергей delphinpro, большое спасибо, что открыли мне глаза. Сам бы я никогда не догадался, что это обычное отрицание.
Первый пример - это говнокод самого автора, если следить за его выступлениями на этом ресурсе. Причем при сравнении он имеет в виду именно значение переменной, а не результат isset. И его уже натыкали в это носом. Но поскольку до него очень долго всё доходит, он решил уточнить, правильно ли все понял.