在PHP中,当我创建$ myvar = 020和echo $ myvar时,我得到16为什么?
答案 0 :(得分:6)
因为如果你给一个带0的数字加前缀,PHP假定你在base 8中工作,而base 8中的20在base 10中是16。
答案 1 :(得分:1)
因为0
中的起始020
告诉php它是一个八进制
更多例子
$a = 1234; // decimal number
$a = -123; // a negative number
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
检查此php manual以获取更多解释
答案 2 :(得分:0)
这称为整数表示http://www.php.net/manual/en/language.types.integer.php。
echo 0b11111; // binary, introduced in PHP 5.4
echo 31; // duh
echo 0x1f; // hexadecimal
echo 037; // octal