在 php 中,123==0123 吗?


答案是否定的。这是因为 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

更新于:2020 年 4 月 6 日

492 次浏览

开启你的 职业生涯之路

完成课程以取得认证

开始
广告