Для вступления в общество новичков и профессионалов домен-индустрии, пожалуйста нажмите здесь ...

   
 Купля-продажа и обсуждение доменных имён
Optimizator.ru
        

  
Вернуться   Форум о доменах > Дизайн и развитие проектов > Программирование
Регистрация Реноме Правила форума Справка Пользователи Социальные группы Все разделы прочитаны
Программирование PHP, Perl, HTML, XHTML, CSS, JavaScript, MySQL и другие языки кодирования.

Ответ
 
Опции темы
Сегодня
от 149р за .RU
Аренда сервера
2x Intel Hexa-Core Xeon E5-2420
Всего 79 евро!

с видеокартой GeForce GTX 1080 Ti
всего 99 евро!

от 149р за .РФ Реклама на DomenForum.net
Старый 09.11.2020, 23:37   #11
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,408
Доменные сделки: 24
Реноме: 1257
Одобрения
Спасибо (Отдано): 500
Спасибо (Получено): 737
Отправить сообщение для Port_Artur с помощью ICQ
Eskander, я ошибся в ответе - выводит

int(0)
Port_Artur вне форума   Ответить с цитированием
Старый 09.11.2020, 23:44   #12
 
Регистрация: 06.01.2017
Сообщений: 859
Доменные сделки: 7
Реноме: 583
Одобрения
Спасибо (Отдано): 322
Спасибо (Получено): 340
Сообщение от Port_Artur Посмотреть сообщение
int(0)
Т.е. находит... А так: !== (bool)false?
__________________
Не работай! Скажи НЕТ!
Eskander вне форума   Ответить с цитированием
Старый 09.11.2020, 23:48   #13
 
Аватар для Port_Artur
 
Регистрация: 03.12.2006
Адрес: Россия
Сообщений: 3,408
Доменные сделки: 24
Реноме: 1257
Одобрения
Спасибо (Отдано): 500
Спасибо (Получено): 737
Отправить сообщение для Port_Artur с помощью ICQ
Сообщение от Eskander Посмотреть сообщение
Может попробовать ===false else {do smth.}
По сути это тоже что и у меня только без отрицания , - но к сожалению не помогло

Странно.

Однажды была ситуация когда переменной нужно было присвоить сумму в скобках умноженную на число.
Выдавало ошибку пока не разделил на 2 действия раздельно, сначала сложение , а в следующей строке умножение.

Чувствую здесь такой же случай.

добавлено через 3 минуты
Сообщение от Eskander Посмотреть сообщение
Т.е. находит... А так: !== (bool)false?
И так не находит

и даже так не получается:

=== (bool)false) {} else {

Последний раз редактировалось Port_Artur; 09.11.2020 в 23:52. Причина: Добавлено сообщение
Port_Artur вне форума   Ответить с цитированием
Старый 10.11.2020, 00:47   #14
 
Регистрация: 06.01.2017
Сообщений: 859
Доменные сделки: 7
Реноме: 583
Одобрения
Спасибо (Отдано): 322
Спасибо (Получено): 340
Сообщение от Port_Artur Посмотреть сообщение
Чувствую здесь такой же случай
Ерунда какая-то... Может он сперва сравнение делает, потом вычисляет левую часть?
Еще осталось проверить значение var_dump(false), 0 !== false, ну и разделить по переменным.
__________________
Не работай! Скажи НЕТ!
Eskander вне форума   Ответить с цитированием
Старый 10.11.2020, 21:29   #15
 
Регистрация: 22.06.2016
Сообщений: 575
Доменные сделки: 12
Реноме: 290
Одобрения
Спасибо (Отдано): 42
Спасибо (Получено): 139
С кириллицей нужно использовать мультибайтную функцию:

$fraza='белый лебедь';
mb_strpos($fraza, 'белый ') = 0 и это правильно: нулевая позиция строки 'белый'.

Если изменить $fraza на 'очень белый лебедь' функция вернет значение 6.

Смысл функции mb_strpos очень прост: найдена строка - вернет позицию, не найдена - вернет false.

Достаточно простой проверки:
!=

!== излишне.
alex8 вне форума   Ответить с цитированием
Старый 11.11.2020, 12:13   #16
 
Регистрация: 19.12.2013
Сообщений: 531
Доменные сделки: 4
Реноме: 305
Одобрения
Спасибо (Отдано): 41
Спасибо (Получено): 103
alex8, у автора и так получался 0

Он возмущался, почему 0 !== false не работает должным образом.

На самом деле все работает. Видимо, все же с кодировками напутали. При этом strpos использовать можно, только осторожно

добавлено через 2 минуты
Сообщение от alex8 Посмотреть сообщение
Достаточно простой проверки:
!=

!== излишне.
Поясните, как тогда будете различать нахождение в нулевой позиции и ненахождение.

Последний раз редактировалось miketomlin; 11.11.2020 в 12:16. Причина: Добавлено сообщение
miketomlin вне форума   Ответить с цитированием
Старый 11.11.2020, 15:53   #17
 
Регистрация: 22.06.2016
Сообщений: 575
Доменные сделки: 12
Реноме: 290
Одобрения
Спасибо (Отдано): 42
Спасибо (Получено): 139
Сообщение от miketomlin Посмотреть сообщение
Поясните, как тогда будете различать нахождение в нулевой позиции и ненахождение.
Уже пояснил)
Смысл функции mb_strpos очень прост: найдена строка - вернет позицию, не найдена - вернет false.

Если ложь - не найдено, вернулся int - это и есть позиция искомой строки

!== используют для проверки не только значений, но и для проверки совпадения типов данных. В нашем случае, это лишнее.
alex8 вне форума   Ответить с цитированием
Старый 11.11.2020, 19:11   #18
 
Регистрация: 19.12.2013
Сообщений: 531
Доменные сделки: 4
Реноме: 305
Одобрения
Спасибо (Отдано): 41
Спасибо (Получено): 103
alex8, как насчет того чтобы понять, а не декларировать прописные истины?

ТС своим ветвлением пытался отделить нахождение (в любой позиции) от ненахождения. Условие 0 != false (или просто 0) будет ложным и, таким образом, не позволит определить нахождение в нулевой позиции.

добавлено через 9 минут
P.S. Заместо 0 в условии должен быть вызов ф-ции, если и это не понятно.

Последний раз редактировалось miketomlin; 11.11.2020 в 19:20. Причина: Добавлено сообщение
miketomlin вне форума   Ответить с цитированием
Старый 18.11.2020, 21:10   #19
 
Аватар для passport
 
Регистрация: 14.04.2010
Адрес: Earth
Сообщений: 120
Доменные сделки: 1
Реноме: 207
Одобрения
Спасибо (Отдано): 4
Спасибо (Получено): 31
И в чём всё-таки была проблема, почему не работало сравнение?

А за этот юмор спасибки
 
(bool)false
__________________
Я написал выше.
passport вне форума   Ответить с цитированием
Ответ



Реклама

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Закладки Добавить Тема в закладки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:02. Часовой пояс GMT +4.