回声整数为0

时间:2014-04-10 00:50:00

标签: php

您好,我想知道以下输出:

<?php 
echo 0500; // Output: 320
echo "<br>";
echo 500; //Output: 500
?>

对此有什么小解释?

1 个答案:

答案 0 :(得分:6)

PHP将任何以0(零)开头的整数呈现为八进制(基数为8)的整数。但是,如果你echo,它将获得其十进制值。 PHP手册中的Integers页面显示:

  

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

     

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

     

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

更新:它可能是也可能不是一个甜蜜的公式,但维基百科推荐这个用于八进制到十进制转换:

在此公式中, a i 是要转换的单个八进制数字,其中 i 是数字的位置(从0开始计算)对于最右边的数字。)

让我们将3736 8 转换为十进制:

3736 8 =(3×8 3 )+(7×8 2 )+(3×8 1 < / sup>)+(6×8 0 )= 1536 + 448 + 24 + 6 = 2014 10