От PHP comparison operators:
Если сравнить число со строкой или сравнения включает в себя числовые строки, затем каждая строка равна , преобразованная в число и сравнение выполнено численно.
И от PHP string conversion to numbers:
Значение определяется по начальной части строки. Если строка начинается с действительных числовых данных, это будет используемое значение. В противном случае значение будет 0 (ноль).
Так, если сравнить число и строку, PHP пытается преобразовать строку в целое число первых и как «окончательный» не содержит каких-либо действительных числовых данных, она превращается в 0.
Вы можете попробовать:
var_dump(intval('12final')); //int(12)
var_dump(floatval('1.2final')); //float(1.2)
Это из-за обоих 12final
и 1.2final
начала с действительными числовыми данными (12
и 1.2
respecrively), их преобразованное значение не 0.
функции * возврат * (значение). code * prints * or * echo * es –
Возможный дубликат [Как отличаются отношения равенства PHP (== double equals) и идентичности (=== triple equals)?] (http://stackoverflow.com/questions/ 80646/how-do-the-php-equal-double-equals-and-identity-triple-equals-comp) –
Спасибо, ребята. Я многому научился сегодня :) – reignsly