Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查值是否为整数,是否为';s同时为int或string_Php - Fatal编程技术网

Php 检查值是否为整数,是否为';s同时为int或string

Php 检查值是否为整数,是否为';s同时为int或string,php,Php,因为我们是否将'1'或1发送到MySQL,或者在PHP的许多其他情况下,这并不重要 我发现自己经常检查,比如: if(ctype_digit($val) || is_int($val)){ // Pass } 基本上,我想确保它是一个整数,但不管它是用string还是int表示 所以我想: 也许有一个等价的PHP函数可以同时执行这两个功能,我不知道?如果只想检查值是否大于整数,请告知是否存在。: if(intval($val) == $val){ // Pass } 如果要一次性检查值

因为我们是否将
'1'
1
发送到MySQL,或者在PHP的许多其他情况下,这并不重要

我发现自己经常检查,比如:

if(ctype_digit($val) || is_int($val)){
   // Pass
}
基本上,我想确保它是一个整数,但不管它是用string还是int表示

所以我想:
也许有一个等价的PHP函数可以同时执行这两个功能,我不知道?如果只想检查值是否大于整数,请告知是否存在。

if(intval($val) == $val){
// Pass
}
如果要一次性检查值并键入,请执行以下操作:

if(intval($val) === $val){
// Pass
}

你是对的,只要第一个方法是正数并且小于PHP_INT_MAX,它就可以用于任何事情(因此
$val=PHP_INT_MAX.1';如果(intval($val)==$val)…
仍然会失败),非常感谢你的第一部分。你错了。我的第一个方法适用于正数和负数。是的,比PHP_INT_MAX小。但是对于PHP_INT_MAX,即使是你在问题中发布的真实方法,它也不起作用。另外,你的方法不适用于负数(当它们是字符串类型时)。Stackoverflow已经存在并回答了数百万个问题超过10年。事实上,所有的基本问题都是重复的,应该关闭而不是回答。我真的希望你使用的是事先准备好的陈述。