php在添加';0';在前面


how does php interpret numbers when you add '0' infront

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"answers"29"有人知道return(int)是如何工作的吗?以及为什么(返回029)显示"2"。

p.S:为什么说我的帖子不符合质量标准,以及我尝试过的正确的语法。。????

当您在PHP中使用零作为整数的前缀时,在这种情况下,029

它变成八进制。

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

结果:

echo 029; // 2 (decimal)

事实上,它在手册中有说明

有效八进制:

octal       : 0[0-7]+