可能重复:
php 数组在键值 07 和 08 上表现异常
在 PHP 中,当我创建 $myvar = 020 并回显 $myvar 我得到 16 为什么?
因为如果你在一个数字前加上一个 0,PHP 会假设你在以 8 为基数工作,而以 8 为基数的 20 是以 10 为基数的 16。
因为开始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手册以获取更多说明
这就是所谓的整数表示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