我认为这篇文章解释得很好:
类型强制比较运算符会将数字字符串转换为数字
仅在这里引用主要问题:
根据php
language.operators.comparison的规定,类型强制比较运算符会将两个操作数都强制转换为浮点数,即使它们看起来都像数字一样,即使它们都已经是字符串也是如此:
两者
strings都使用指数表示法,因此被视为数字字符串,进行松散的比较(
==),将其强制转换
strings为
floats实际“松散”比较它们之前。
作为最佳实践并防止意外行为,请始终尝试使用恒等式(
===),
尤其是 在处理
strings



