1

如果我正在检查一个变量以查看它是否是 bash 中的整数,则编码将类似于

if ! [[ "$yournumber" =~ ^[0-9]+$ ]] ; then 

php中有没有办法检查变量是否包含整数?

谢谢大家,我想我需要澄清一下,我想评估该数字没有十进制值示例是 nuber 1 vs 1.2 或任何其他带有小数的值。提前致谢。

4

6 回答 6

4

您可以ctype_digit为此使用:

if (ctype_digit($yournum)) {
    // ...
}

PHP 文档:

检查提供的字符串 text 中的所有字符是否都是数字。

这不包括.,如他们的示例所示(在我链接的页面上)。

于 2012-09-21T18:03:04.087 回答
0

对于自然数(非负整数) ,请ctype_digit按照其他人的建议使用。对于包括负数在内的整数,您可以使用此模式:/\-?\d+/.

于 2012-09-21T18:10:13.320 回答
0

还有is_numeric(),真的取决于你想做什么。

于 2012-09-21T18:04:48.707 回答
0

完全一样的方式:if( preg_match("/^[0-9]+$/",$yournumber))

或者,试试这个:if( strval(intval($yournumber)) === strval($yournumber))

于 2012-09-21T18:02:24.153 回答
0

您可以使用该函数is_int()检查变量是否包含整数(整数)

于 2012-09-21T18:02:38.160 回答
-1

也许这就是你要找的?

is_int($var)

http://php.net/manual/en/function.is-int.php

于 2012-09-21T18:02:55.827 回答