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 :: Операторы сравнения в PHP

 PHP.SU

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


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

> Без описания
dcc0
Отправлено: 04 Сентября, 2014 - 20:02:51
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Товарищи, правильно ли я понимаю, что конструкции ниже должны давать эквивалетный результат:

PHP:
скопировать код в буфер обмена
  1. if(strrpos($var, "sm")!== false)
  2.  if(strrpos($var, "sm") === true)


Или вторая конструкция не имеет смысла?

Так как: "Если подстрока needle не найдена, strpos() возвращает FALSE"

(Отредактировано автором: 04 Сентября, 2014 - 20:05:44)



-----
Март 2021. Бросил программирование
 
 Top
teddy
Отправлено: 04 Сентября, 2014 - 20:08:47
Post Id


Участник


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


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




dcc0 пишет:
Или вторая конструкция не имеет смысла?

Не имеет. Эта функция возвращает либо позицию последнего вхождения подстроки, которая является числом, либо false, если не удалось найти вхождение.

Соответственно сравнивать с true особенно строго вообще нет смысла ибо такого значения функция не возвращает
 
 Top
dcc0
Отправлено: 04 Сентября, 2014 - 20:10:41
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




teddy Спасибо. А то я что-то запутался в 3-х соснах.

Сбило меня с толку вот из описания вот это:

Цитата:
Используйте оператор === для проверки значения,

(Отредактировано автором: 04 Сентября, 2014 - 20:13:13)



-----
Март 2021. Бросил программирование
 
 Top
Tyoma5891
Отправлено: 04 Сентября, 2014 - 20:12:12
Post Id


Частый посетитель


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


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




я бы вообще советовал бы, dcc0, внимательно анализировать документацию по функциям, тогда бы и таких вопросов не возникало...
 
 Top
teddy
Отправлено: 04 Сентября, 2014 - 20:20:02
Post Id


Участник


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


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




dcc0
Ну правильно. Нужно сравнивать строго, но с false.
Может быть так, что позиция, которая будет найдена, будет равна 0, что при не строгом сравнении будет равно false и Вы в этот if не попадете несмотря на то что позиция найдена.

(Отредактировано автором: 04 Сентября, 2014 - 20:20:43)

 
 Top
dcc0
Отправлено: 04 Сентября, 2014 - 21:03:19
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




teddyааа, точно. Спасибо.


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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB