1

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

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

    [yt0] => Search
)

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

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

正在返回 false (is_intif 语句没有被执行)任何想法为什么?

4

3 回答 3

5

因为 POST 和 GET 参数总是字符串,所以用 is_numeric 代替 is_int

于 2012-07-12T21:22:10.193 回答
1

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

于 2012-07-12T21:21:59.493 回答
0

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

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

于 2012-07-12T21:22:30.340 回答