为什么php 016除以2回答7?

时间:2017-04-01 12:41:51

标签: php

我试图将016除以2的PHP答案7。 为什么php 016除以2回答7? 例如,

<ul>
  <li>First element</li>
</ul>

<ul>
  <li>First element</li>
  <li>Second element</li>
  <li>Third element</li>
</ul>

输出为7 为什么呢?

1 个答案:

答案 0 :(得分:5)

PHP解释一个整数,前导0为八进制(基数为8)。 016 base 8是14 base 10。

来自the manual

  

整数可以用十进制(基数10),十六进制(基数16),八进制(基数8)或二进制(基数2)表示,可选地以符号( - 或+)开头。

     

自PHP 5.4.0起可以使用二进制整数文字。

     

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

如果您确实需要打印0,最好选择以下两种方法之一:

  1. 使用常规整数,仅在显示时填充零。我推荐这个选项。

  2. 传递字符串,而不是整数。只有在您不需要对字符串进行数学运算时,这才能正常工作。