当你在前面添加'0'时,php如何解释数字

时间:2014-10-14 12:37:15

标签: php

php如何解释026和26。

例如:

$a = 26;
echo $a; // result 26

$b = 026;
echo &b; // results in 22

也适用于。

function abc() {
    return (int)(0.5+029);
    //return (int)(0.5+29)
}

$bac = abc();

它给出" 2"和" 29"有谁知道return(int)是如何工作的?为什么(返回029)显示" 2"。

P.S:为什么它说我的帖子不符合质量标准和我尝试的东西和正确的语法.. ????

1 个答案:

答案 0 :(得分:1)

当你在PHP中使用零之前的整数时,在那个实例中029

变成八进制。

所以当你回应它时,它会转换为十进制形式。

结果是:

echo 029; // 2 (decimal)

实际上,它在manual

中说明了

有效的八进制:

octal       : 0[0-7]+