在PHP中,“print 08+&引用;“51”给51?

在PHP中,“print 08+&引用;“51”给51?,php,math,addition,Php,Math,Addition,在PHP中,我尝试了以下代码print08+“51” 但我不知道为什么它会给出51,而print07+“51”给出58?因为当整数以0开头时,使用的是八进制。08不是有效的八进制数,因此它转换为零。0+51(因为“51”通过类型转换转换为整数)等于51。因为当整数以0开头时,使用的是八进制。08不是有效的八进制数,因此它转换为零。0+51(因为“51”由于类型转换而转换为整数)等于51。请参见:$a=0123;//八进制数(相当于83位小数)向上投票按钮表示“此问题显示研究工作”。没有明显的研究

在PHP中,我尝试了以下代码
print08+“51”

但我不知道为什么它会给出51,而
print07+“51”给出58?

因为当整数以0开头时,使用的是八进制。08不是有效的八进制数,因此它转换为零。0+51(因为“51”通过类型转换转换为整数)等于51。

因为当整数以0开头时,使用的是八进制。08不是有效的八进制数,因此它转换为零。0+51(因为“51”由于类型转换而转换为整数)等于51。

请参见:
$a=0123;//八进制数(相当于83位小数)
向上投票按钮表示“此问题显示研究工作”。没有明显的研究成果,但它获得了4张赞成票。08在octalHow中不存在你没有得到致命错误吗?@DavidPartyka:因为08被转换为0,“51”被转换为51,所以它给出了0+51=51参见:
$a=0123;//八进制数(相当于83位小数)
向上投票按钮表示“此问题显示研究工作”。没有明显的研究成果,但它仍然以4票优势获胜。08在octalHow中不存在你没有得到致命错误吗?@DavidPartyka:因为08被转换为0,而“51”被转换为51,所以它给出了0+51=51,它应该“转换为整数”,而不是“转换为字符串”--它已经是stringOK。多么简单啊!Thanks@johannes你说得对。我中途改变了我想解释的方式,最后两者都有了。已修复。它应该“转换为整数”而不是“转换为字符串”--它已经是stringOK。多么简单啊!Thanks@johannes你说得对。我中途改变了我想解释的方式,最后两者都有了。固定的