0

可能重复:
php 数组在键值 07 和 08 上表现异常

在 PHP 中,当我创建 $myvar = 020 并回显 $myvar 我得到 16 为什么?

4

3 回答 3

6

因为如果你在一个数字前加上一个 0,PHP 会假设你在以 8 为基数工作,而以 8 为基数的 20 是以 10 为基数的 16。

于 2012-08-16T18:59:38.127 回答
1

因为开始0告诉020php 它是一个八进制

更多示例

$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手册以获取更多说明

于 2012-08-16T19:02:38.023 回答
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
于 2012-08-16T19:02:36.510 回答