为什么带十六进制格式的字符串转换为正确的整数值? PHP

时间:2017-02-28 21:25:18

标签: php casting

我发现不清楚的PHP行为

echo '0x12' + 2; // 20

据我所知,http://php.net/manual/en/language.types.string.php字符串'0x12'应该像'0b11'那样强制转换为0

echo '0b11' + 1; // 1

请解释原因。

更新

第一个示例在7.x版本中给出2,在5.x版本中给出20个。

1 个答案:

答案 0 :(得分:0)

感谢AntoineBMark Baker的评论。从这一点来看,我可以得出结论,这更像是php 5.x中的一个问题,而不是功能并在php 7.x中修复(Backward incompatible changes for PHP7)。