PHP:为什么这个加法的答案是20而不是22?

Ste*_*Fox 4 php

为什么输出到20,而不是22?看到你正在添加10 + 0xA(HEX为10)+ 2.

$a = 010;
$b = 0xA;
$c = 2;

print $a + $b + $c;

Output: 20.
Run Code Online (Sandbox Code Playgroud)

Riz*_*123 21

这是正确的!

(因为第一个数字是octal如此,如果你想将它解释为小数,你必须删除第一个0)Se:

$a = 010;  //Octal -> 8
$b = 0xA;  //Hex   -> 10
$c = 2;    //Dec   -> 2

print $a + $b + $c;  //20
Run Code Online (Sandbox Code Playgroud)

输出:

20
Run Code Online (Sandbox Code Playgroud)