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

PHP:为什么这个加法的答案是20而不是22?,php,Php,为什么输出是20,而不是22?看到你正在添加10+0xA(十六进制中为10)+2 见: 要使用八进制表示法,请在数字前面加0(零)。要使用十六进制表示法,请在数字前面加上0x。要使用二进制表示法,请在数字前面加0b 010是一个八进制数(它以一个0开头,后面不跟小数点),它是十进制的8。这是正确的 (因为第一个数字是八进制的,所以如果你想把它解释成十进制,你必须去掉第一个0) Se: 输出: 20 这将解决: <?php $a = 10; $b = 0xA; $c = 2; print

为什么输出是20,而不是22?看到你正在添加10+0xA(十六进制中为10)+2

见:

要使用八进制表示法,请在数字前面加0(零)。要使用十六进制表示法,请在数字前面加上0x。要使用二进制表示法,请在数字前面加0b

010
是一个八进制数(它以一个
0
开头,后面不跟小数点),它是十进制的
8

这是正确的

(因为第一个数字是八进制的,所以如果你想把它解释成十进制,你必须去掉第一个0) Se:

输出:

20
这将解决:

<?php
$a = 10;
$b = 0xA;
$c = 2;

print $a + $b + $c;
?>


$a的0前导是八进制值,而不是十进制值。

哦,我怎么会错过八进制部分呢。非常感谢。八进制+十六进制+十二进制现在检查!所有答案都没有链接到PHP的整数处理文档,所以
20
<?php
$a = 10;
$b = 0xA;
$c = 2;

print $a + $b + $c;
?>