$a1 = 010;
print (int)$a1;
打印值 = 8
任何人都可以解释php是如何产生这个结果的?因为十六进制的 010 = 16。
它不是十六进制的。是八进制的。
对于十六进制:$a = 0x10;
对于八进制 $a = 010;
对于 HEX 数字,您必须以 0x 开头。
010
以8为10
底,即8
以10为底。
手册的完整参考:
<?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)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
?>