background image

会是这样做的方法之一:
代码如下

:

<?php

 if (isset()($_GET["value"])) {
     $value = $_GET["value"];
 }
 else {
     $value = false;
 }
 if (is_numeric($value) && ($value >= 15 && $value <= 20)) {
     // run my code
 }
 else {
     // handle the issue
 }

这是一个非常基本的例子,我们已经写更多的行,我想看到

??的。

首先,因为我们不能确定设置的

$ _GET,代码执行适当的检查,使脚本不翻倒。

其次是美元值现在是一个

“脏”的变量,因为它已被直接从指定的$ _GET 价值的事实。我们

需要照顾,不使用美元的价值在代码的其他地方的情况下,我们打破任何东西。
再有就是,

16.0 is_numeric()函数是有效的,因为各种语气词它的问题。

最后,我们必须与事实问题,如果声明是了一口采取位,是一个额外的逻辑位通过当你通
过代码跟踪工作。
现在比较上面的例子:
代码如下

:

<?php

$value = filter_input(INPUT_GET, "value", FILTER_VALIDATE_INT,
    array("options" => array("min_range" => 15, "max_range" => 20)));
if ($value) {
     // run my code
}
else {
    // handle the issue
}

不会让你感觉温暖和模糊?

filter_input()处理的$ _GET 值没有被设置,所以你不必强调脚本是否接收正确的信息,或
不。
你也不必约担心美元价值是肮脏的,因为它已被证实之前,它已经被分配。
注意现在的

16.0 不再有效。

最后,我们的逻辑不再复杂。这只是一个快速检查为

truthy 值(filter_input()如果验证失败,

将返回

false 和 null 如果没有设置$ _GET [“价值”)。

显然,在一个真实的世界设定,你可以提取数组存储在配置文件中的变量到某个地方,以
便可以得到的东西,甚至无需进入业务逻辑改变。华丽!
现在,你可能会想,这可能是有用抢一对夫妇的简单脚本的

$ _GET 或$ _POST 变量,但内

部使用的函数或类约?幸运的是,我们有该

filter_var() 。