为什么此代码只打印零?为什么不打印a的值?
<?php
$a=099;
echo $a;
?>
答案 0 :(得分:4)
正如Ultimater指出的那样,你已经为无效的八进制数分配了$ a。
解析器假定前面带有零的数值(称为&#34;整数字和&#34;在这种情况下为#);是八进制(基数为8)的数字。由于您的数字包含9个不在基数中的9(基数为8位数为0-7),因此它无效,解析器将其评估为零。
例如, 工作:
$a = 077;
echo $a; //63
答案 1 :(得分:1)
以“0”开头的数字是八进制数。
但是Octor号有0~7,没有8,9。
所以$a
设置为零。
如果要打印'099',请尝试
$a = '099';
echo $a; //print 099
如果您想获得号码,请尝试
$a = 045;
echo $a; //print 37(Decimal number)