有没有办法通过使用say filter_input简化此功能

时间:2016-12-28 08:47:34

标签: php filter-input

function valueFromGetOrPost($parameter)
{
    $shvalue=NULL;
    if ($_GET[$parameter])
    {
        $shvalue=$_GET[$parameter];
    }
    else if (isset($_POST[$parameter]))

    {
        $shvalue=$_POST[$parameter];
    }
    return $shvalue;

}

说使用filter_input

基本上代码检查参数是否存在于GET或POST中。然后返回参数的值。

我认为这应该是如此常见,应该有一些内置函数

3 个答案:

答案 0 :(得分:0)

使用$_REQUESTdocumentation)。

  

一个关联数组,默认包含$ _GET,$ _POST和$ _COOKIE的内容。

所以你的代码看起来像是:

function valueFromGetOrPost($parameter)
{
    $shvalue=NULL;
    if ($_REQUEST[$parameter])
    {
        $shvalue=$_REQUEST[$parameter];
    }
    return $shvalue;

}

答案 1 :(得分:0)

您可以使用快速返回来简化它,即

function valueFromGetOrPost($parameter){

    $shvalue=NULL;

    if (isset($_GET[$parameter])){
         return $_GET[$parameter];
    } else if (isset($_POST[$parameter])){
         return $_POST[$parameter];
    }
}

或者,您可以使用三元运算符,因为如果两者都未设置,您仍然会返回NULL:

function valueFromGetOrPost($parameter){

 $shvalue = (isset($_GET[$parameter]) ? $_GET[$parameter] : $_POST[$parameter]);

 return $shvalue;

}

答案 2 :(得分:0)

以下是我的建议,使用filter_input()函数:

isAppLog = true