在 php 中,123 是否 == 0123?

phpserver side programmingprogramming更新于 2025/6/28 1:37:17

答案是否定的。这是因为 0123 表示以 8 为基数的 123(八进制数),而其十进制对应数字 83。

在数字前添加 0 表示它是八进制(以 8 为基数)。这与 0x 表示十六进制(以 16 为基数)类似。

请考虑以下代码行 −

示例

var_dump(123);
var_dump(0123);

输出

将产生以下输出 −

int 123
int 83

这是因为 0123 是八进制表示法(注意开头的 0),而 123 是十进制数。

现在考虑以下代码 −

示例

var_dump(79);
var_dump(079);

输出

这将产生以下输出 −

int 79
int 7

相关文章