有一次开发中遇到一个问题,比较两个变量大小,根据条件走不同的逻辑。但是发现条件结果总是不符合预期。通过调试打印变量,发来其中有一个变量是数组类型的,一个是数字类型的。通过翻阅php手册获知,数组类型的都比数字类型的值大。
对于不同变量间进行大小比较,规则如下:
对象类型 总是 比其他类型的变量 大
数组类型 总是 比其他类型的变量 大 (ps:对象类型除外)
bool 与 其他类型变量比较时,其他类型先转换为bool值,然后按照FALSE < TRUE 来返回
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。
ps:所以在比较两个变量大小的时候,要记得查看类型和进行类型转换或在定义函数时指定参数类型。
发表评论 取消回复