我正在使用 PHP 7.0.2
在整数the manual的某个地方,我看到了以下声明:
整数可以用十进制(基数10),十六进制(基数16)指定, 八进制(基数8)或二进制(基数2)表示法,可选地以a开头 标志( - 或+)。
在手册的一个地方我看到了矛盾的陈述:
PHP不支持无符号整数。
由于这两句话我感到困惑。在一个地方,它表示一个整数可以选择前面有一个符号,这意味着每当我使用任何整数时,在它前面加上一个符号( - 或+)将是我的选择。
与此同时,它说PHP不支持无符号整数。
那么,它是否说每当我使用任何整数而没有在其前面加上符号(+或 - )时,它是不是被认为是PHP中的合法整数?
答案 0 :(得分:0)
这只是意味着每个整数都是有符号的,你不能创建无符号整数。因此,如果你想使用大于PHP_INT_MAX
的东西,你必须使用字符串(或像bcmath这样的库)来解决这个问题。
答案 1 :(得分:0)
表示正整数的+前缀是可选的,正整数可以用无符号或+表示。负整数只能用 - 。
表示$a = 123; // decimal number (123)
$a = +123; // decimal number (123)
$a = -123; // a negative decimal number (-123)
$a = 0123; // octal number (equivalent to 83 decimal)
$a = +0123; // octal number (equivalent to 83 decimal)
$a = -0123; // octal number (equivalent to -83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = +0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = -0x1A; // hexadecimal number (equivalent to -26 decimal)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
$a = +0b11111111; // binary number (equivalent to 255 decimal)
$a = -0b11111111; // binary number (equivalent to -255 decimal)