【发布时间】:2018-06-10 02:53:00
【问题描述】:
我正在使用 PHP 7.0.2
在the manual 的整数位置,我看到了以下语句:
整数可以指定为十进制(以 10 为底)、十六进制(以 16 为底)、 八进制(以 8 为基数)或二进制(以 2 为基数)表示法,前面可选 符号(- 或 +)。
在手册的一个地方,我看到了以下矛盾的陈述:
PHP 不支持无符号整数。
由于这两个句子,我感到困惑。有一个地方说一个整数前面可以有一个符号,这意味着每当我使用任何整数时,在它前面加一个符号(- 或 +)是我的选择。
同时说 PHP 不支持无符号整数。
那么,是不是说每当我使用任何整数而不在其前面加上符号(+ 或 -)时,它不会被视为 PHP 中的合法整数吗?
【问题讨论】:
-
这可能意味着您无法通过将数字转换为无符号来调整范围。对于 MySQL,有符号范围是 -128 - 127,无符号范围是 0 - 255。对于 PHP,范围是有限的,不能更改。
-
"Unsigned integers" 仅指正整数。 PHP 仅支持“signed integers”(= 表示允许使用
+和-前缀,+是可选的。) -
@mario :如果是这种情况,那么整数 0(零)之前的符号是什么,因为 0(零)既不是正整数也不是负整数?
-
这与您最初的问题有什么关系?我们是否会被非必要的定义所困扰?
-
@mario : 我想通过理解和了解每一个细节来让我的疑问变得清晰。
标签: php types integer unsigned-integer signed-integer