我正在尝试使用PHP为01234
赋值变量。但它不断提出不同的数字。为什么显示668
?
$data=01234;
echo $data;
我得到的结果是:668
答案 0 :(得分:2)
整数可以用十进制(基数10),十六进制(基数16)指定, 八进制(基数8)或二进制(基数2)表示法,可选地以a开头 标志( - 或+)。
[...]
要使用八进制表示法,请在数字前面加上0(零)。使用 十六进制表示法在数字前面加上0x。要使用二进制 符号前面带有0b的数字。
您错误地指定了等于1234
十进制的八进制数668
(通过添加零前缀)。
答案 1 :(得分:2)
具有前导零是指令将其解析为八进制数,因为具有0x作为前缀意味着十六进制。 See the documentation for more information
所以这个01234被解析为八进制并转换为十进制值,即668。