php8字符串比较逻辑的改变

最近看了一道面试题,若有所思,因为有的人输出为1有的人输出为2,想到了版本问题,深挖了一下,果然不出所料

2022-07-11 09:23:44   2025-02-09 11:09:50   PHP   350 views  

 

字符串与数字的比较逻辑

在PHP7中,字符串与数字的比较逻辑是这样的:

0 == 'foobar' // true

在PHP8中,字符串与数字的比较逻辑是这样的:

0 == 'foobar' // false

PHP 8 比较数字字符串(numeric string)时,会按数字进行比较。 不是数字字符串时,将数字转化为字符串,按字符串比较。