标签: php function math
我有功能
$x = 012; echo $x / 3;
为什么结果是3.33333?
但如果我使用:
$x = '012';
然后是对的。问题是如何解释这个?
答案 0 :(得分:6)
前缀为0的数字被视为八进制数字:
$x = 012;//$x is 10
Details here
$x = '012';工作的原因是因为PHP将其转换为整数而不将其视为八进制数。
答案 1 :(得分:2)
零的数字是八进制数。所以012是八进制数。
来自PHP manual:
$a = 0123; // octal number (equivalent to 83 decimal)