PHP 5 到 7 迁移 - 数字比较

2022-08-30 23:26:28

我注意到下面的代码在PHP 5.x和7中会产生不同的消息:

if ('0xFF' == 255) {
    echo 'Equal';
} else {
    echo 'Not equal';
}
  • 5.x: 相等
  • 7: 不相等

尝试在迁移指南和PHP文档中查找导致它的更改的说明,但找不到任何内容。可能它就在那里的某个地方,我只是错过了它。你能指出来吗?谢谢!

我看的地方


答案 1

它在这里:http://php.net/manual/en/migration70.incompatible.php

对字符串处理的更改

十六进制字符串不再被视为数字

包含十六进制数字的字符串不再被视为数字。例如:等...<?php var_dump("0x123" == "291");


答案 2

推荐