2017-06-12 47 views
-1

数字(int,float)如何以PHP中的0分隔。划分一个由0开头的数字

下面是我的尝试:

echo 016/2; // 7 
echo 08/2; // Invalid numeric literal 
echo 09/2; // Invalid numeric literal 
echo 010/2; // 4 
echo 00000000000000000010/2; // 4 
echo 07/2; // 3.5 Correct 

我已经尝试了上述计算作为一个字符串,int和float。

+3

如[PHP文档](http://www.php.net/manual/en/language.types.integer.php)中所述,“由0引导”的数字被PHP视为八进制值) –

回答

2

整数常量在PHP手册/语言参考/类型记录/ Integers

整数可以用十进制来指定(底为10),十六进制(基数 16),八进制(基数8)或二进制(基数2)符号,可选地在 之前以符号( - 或+)表示。

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

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

08是一个无效的八进制数,就像0xZZZ是无效的十六进制。

+0

感谢您解释为什么'08'引发错误 – user3284463