假设我有一个输出$i为的代码
$i = 016;
echo $i / 2;
//ans will be 7
Run Code Online (Sandbox Code Playgroud)
我知道前导零表示PHP中的八进制数,但它是如何解释的,它是如何执行的?有人可以一步一步地分享它的执行吗?解析器在这里的作用是什么?我已经研究了很多,并阅读了所有以前的答案,但没有一个有任何深刻的解释.
当您在 PHP 中在整数前面加零时,在这种情况下,029.
它变成八进制。
因此,当您回显该内容时,它将转换为十进制形式。
其结果为:
echo 016; //14 (decimal) valid octal
echo 029; // 2 (decimal) - Invalid octal
Run Code Online (Sandbox Code Playgroud)
其实说明书上有说明的
有效的八进制:
octal : 0[0-7]+
Run Code Online (Sandbox Code Playgroud)
注意:在 PHP 7 之前,如果在八进制整数(即 8 或 9)中给出了无效数字,则该数字的其余部分将被忽略。从 PHP 7 开始,会发出解析错误。
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |