Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2018, 11:59   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Эквивалентность выражений

Здравствуйте. Сегодня, решая очередную задачу, я наткнулся на интересную особенность оператора типового сравнения в PHP.
Есть два кода:
Код:
if (!$param===false) // первый вариант
{
	// ... something do
}

if ($param!==false) // второй вариант
{
	// ... something do
}
Так вот, объясните пожалуйста мне, валенку, в чём разница ?
Ибо у меня в разных ситуациях по разному подходит то один, то другой варианты ...
И я действую грубо говоря в слепую типа раз одно не работает, а второе работает - значит второе и оставляем.

Изначально мне казалось, что разницы нет; и мне больше нравится первый вариант, но сегодня при помощи отладки наткнулся на необходимость использования именно второго варианта ...
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 24.09.2018, 12:26   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что в $param?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.09.2018, 12:27   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Надо полагать, что если тип того парам булев, то это одно и то же. В противном случае вариант 1 вернет ложь, а 2 - истину
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.09.2018, 12:37   #4
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Что в $param?
Да забыл сказать, $pagam - это для примера. Так речь идёт о функциях вроде strpos, которые любят возвращать false или 0+.
Что для меня мягко говоря идиотизм, нет бы возвращать -1, и все вопросы с проблемами сразу отпадают ... Но приходится мириться и подстраиваться.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графы, эквивалентность Wedmochka Паскаль, Turbo Pascal, PascalABC.NET 0 23.05.2012 15:37
сравнить на эквивалентность 2 двоичных файла Progsenya C# (си шарп) 1 07.05.2011 11:49
преобразование выражений alexander-57n Помощь студентам 0 16.05.2010 14:33
Написать программу, которая проверяет формулы на эквивалентность oksana baybuza Общие вопросы C/C++ 3 18.02.2010 19:38
Вычислительная эквивалентность исполнителей Анатолий 111 Помощь студентам 0 25.12.2009 00:38