Доброго дня всем.
Столкнулся с ситуацией, когда на хостинге не срабатывает условие сравнения с тремя знаками равенства ===
Но если спользовать два знака ==, то все работает нормально. И такая ситуация только на реальном хостине, на локальном все хорошо. Обратился к хостеру за разъяснением, тот ничего вразумительного не ответил.
Может у кого было подобное, подскажите, как справиться с проблемой, а то не хочется во всем коде вносить исправления.
Спасибо
Получаю все записи из БД, потом узнаю их количество и сравниваю с 0 $articles->count() === 0
0 - число, функция count() также число. Стало быть, тип данных одинаков?
Лентюй, я жду дальнейшей работы скрипта. Дело в том, что по результатам сравнения выполняется определенная задача, вне зависимости от того, будет оно true или false.
Но дело в том, что именно на нем работа и заканчивается, ошибка.
oxidmod, судя по его вопросам, это какой-то паренёк с окраин, компьютер увидел недели две назад.
С формальной логикой даже не на "вы". Поэтому утверждение "при различии типов всегда будет ложь" он считает следствием утверждения "при совпадении типов всегда будет истина". Ему бы гонору поменьше - и глядишь лет через 5 что-то начнет соображать. Но с таким самомнением скорее в охранники подастся в итоге.
Владимир Кохан, милок, по существу тебе уже ответили.А вот ты похоже ответа не понял. И сложная логическая задача по конвертации var_dump($articles->count(), 0);die();
в var_dump($status, 1);die();
тебе не по зубам.
Все эти операции ты должен был проделать ДО того как строчить вопрос сюда.
Чтобы задавать не заведомо бессмысленный вопрос "почему сравнение не работает" (оно всегда работает)
А "почему база возвращает с неверным типом".
Каковой вопрос уже можно гуглить и найти миллион существующих ответов.
Вилы Выкидные, что, задевает за живое когда не можешь понять о чем умные люди говорят? :) Привыкай. С твоими-то граммом знаний и тонной самомнения это только начало.
Вилы Выкидные, Не молчи, не молчи. Чем больше ты пишешь, тем больше позоришься. Путь логика не дается - ну хоть перекричишь, как это у вас в деревне принято
В порядке благотворительности.
На хостинге не работае mysqlnd, и поэтому все значения из БД возвращаются строками.
Либо пинать хостинг, либо менять хостинг.
FanatPHP, да, проблема именно в типе возвращаемых данных. В БД тип поля int, но почему-то возвращается string. Расширение mysqlnd, как ты видел, включено. Так что единственное, что может быть, это старые версии. В общем, это связано с хостингом.
возвращение нужных типов прекрасно работает и в пятой.
но расхождение в версиях говорит о том, что у тебя сайт работает не на той версии, которая настроена в панели
вот этот вопрос поддержке и задавай.