为什么在数字前面添加0会改变其值

时间:2016-08-09 13:07:54

标签: php octal var-dump

为什么

var_dump(16) // displays int(16) 

但是

var_dump(016) // displays int(14) 

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

第二个值称为八进制。它与基数10不同。取而代之的是它的基础8.当你在前面添加0时,它会告诉PHP将其视为八进制。

http://php.net/manual/en/language.types.integer.php

  

整数可以用十进制(基数10),十六进制(基数16),八进制(基数8)或二进制(基数2)表示法指定,可选地前面带有符号( - 或+)

     

要使用八进制表示法,请在数字前面加上0(零)。

基础8中的10是8

基础8中的6是6

8 + 6 = 14