PHP奇怪的is_int行为

时间:2012-07-12 21:19:44

标签: php

我有一个发布数组的表单,如下所示:

Array
(
    [SearchForm] => Array
    (
        [query] => Eg: 2 Bedroom Flat Chelsea
        [rent] => 1
        [share] => 0
        [short] => 1
        [price_min] => 50
        [price_max] => 100
    )

    [yt0] => Search
)

我想检查$_REQUEST['SearchForm']['price_min']的值是否为空,并且是一个整数。我正在使用:

if (($_REQUEST['SearchForm']['price_min'] != "") && (is_int($_REQUEST['SearchForm']['price_min']))){
    ...
}

is_int返回false(if语句未被执行) 有什么想法吗?

3 个答案:

答案 0 :(得分:5)

因为POST和GET参数总是字符串,所以使用is_umeric

代替is_int

答案 1 :(得分:1)

该值可能是"50"而不是50(它是一个字符串)。请尝试使用is_numeric()代替is_int()

答案 2 :(得分:0)

如果结果来自发布的html表单,则该值很可能是字符串。

您可以使用is_numeric检查有效的数字字符串。

相关问题