Kai*_*aan 5 php
我正在尝试验证我的变量是否是 32 位有符号整数。
我以为我可以使用filter_var()andFILTER_VALIDATE_INT但显然 PHP 对 int 的定义是完全不同的,999999999999999999没有问题。
filter_var()
FILTER_VALIDATE_INT
999999999999999999
查看PHP 文档,它没有说任何具体内容。那么实际上filter_var($var, FILTER_VALIDATE_INT)验证了什么?
filter_var($var, FILTER_VALIDATE_INT)
dbr*_*ann 1
我认为你的问题更多地在于整数:
整数的大小取决于平台,但通常的最大值约为 20 亿(即 32 位有符号)。64 位平台的最大值通常约为 9E18,但 Windows 除外,它始终为 32 位。PHP 不支持无符号整数。从 PHP 4.4.0 和 PHP 5.0.5 开始,可以使用常量 PHP_INT_SIZE 确定整数大小,并使用常量 PHP_INT_MAX 确定最大值。
FILTER_VALIDATE_INT允许 min_range 和 max_range 作为选项传递。你可能应该使用那些。
归档时间:
10 年,10 月 前
查看次数:
7332 次
最近记录:
7 年,10 月 前