Intereting Posts
Проблема перенаправления формы как разобрать входное значение, скрытое соединение с базой данных codeigniter 3 с третьей базой данных Обновление страницы после завершения загрузки в jQuery Multi file Uplaoder PHP Типичная альтернатива только выходу табуляции (дубликат) Обнаружение цифровой подписи без WinVerifyTrust Как присоединиться к последней записи в таблице? XAMPP / MySQL: не удалось открыть файл таблицы таблиц с одной таблицей. \ Mysql \ innodb_index_stats.ibd после перезагрузки MySQL После обновления до Debian Jessie: случайные ошибки mod_fcgid Обтекание div вокруг каждого третьего элемента в цикле foreach PHP Magento добавляет информацию о продукте на вкладку «Дополнительная информация» Использование регулярного выражения для фильтрации года фиксированной длины 0 или 4 цифры PHP, Memcached работает из командной строки, но не из Интернета Что лучше в PHP? Создайте форму отправки (оберните таблицу в форму и покажите ее как таблицу снова) из продуктов, которые были заказаны

Почему md5 ('240610708') равен md5 ('QNKCDZO')?

var_dump(md5('240610708') == md5('QNKCDZO')); 

Вывод:

 bool(true) 

Пример: http://3v4l.org/2vrMi

md5('240610708')0e462097431906509019562988736854 .

md5('QNKCDZO')0e830400451993494058024219903391 .

Они являются строками чисел с плавающим номером ( числовые строки ), и если вы используете == в php, когда сравниваете число со строкой или сравниваете числовые строки, то каждая строка преобразуется в число и выполняется сравнение численно.

Обе строки преобразуются в 0 по сравнению с == , если вы хотите сравнить их как строку, не забудьте использовать === ( строгое сравнение ).

Смотрите: PHP выражает две разные строки одинаковыми

Вам нужно использовать оператор сравнения с типом === .

0e462097431906509019562988736854 оцениваются до 0e462097431906509019562988736854 и 0e830400451993494058024219903391 , соответственно. Когда вы используете == , каждый из них преобразуется в числовое представление из-за e (научная нотация), поэтому каждый из них становится 0 . 0 == 0 истинно.

С другой стороны, это:

 md5('240610708') === md5('QNKCDZO') 

возвращает false поскольку значения строк различаются. === заставляет силовое сравнение.