有没有办法通过使用 say filter_input 来简化此功能
Is there a way to simplify this function by using say 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 中是否存在参数。然后return参数的值。
我认为这一定很常见,一些内置函数应该已经存在了
使用$_REQUEST
(documentation)。
An associative array that by default contains the contents of $_GET, $_POST and $_COOKIE.
因此您的代码将如下所示:
function valueFromGetOrPost($parameter)
{
$shvalue=NULL;
if ($_REQUEST[$parameter])
{
$shvalue=$_REQUEST[$parameter];
}
return $shvalue;
}
你可以使用快速 return 来简化它,即
function valueFromGetOrPost($parameter){
$shvalue=NULL;
if (isset($_GET[$parameter])){
return $_GET[$parameter];
} else if (isset($_POST[$parameter])){
return $_POST[$parameter];
}
}
或者,您可以使用三元运算符,因为如果两者都未设置,您仍然 returning NULL:
function valueFromGetOrPost($parameter){
$shvalue = (isset($_GET[$parameter]) ? $_GET[$parameter] : $_POST[$parameter]);
return $shvalue;
}
这是我的建议,使用 filter_input() 函数:
function valueFromGetOrPost($parameter)
{
$value = ($getValue = filter_input(INPUT_GET, $parameter))
? $getValue
: filter_input(INPUT_POST, $parameter);
return ($value) ? $value : NULL;
}
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 中是否存在参数。然后return参数的值。
我认为这一定很常见,一些内置函数应该已经存在了
使用$_REQUEST
(documentation)。
An associative array that by default contains the contents of $_GET, $_POST and $_COOKIE.
因此您的代码将如下所示:
function valueFromGetOrPost($parameter)
{
$shvalue=NULL;
if ($_REQUEST[$parameter])
{
$shvalue=$_REQUEST[$parameter];
}
return $shvalue;
}
你可以使用快速 return 来简化它,即
function valueFromGetOrPost($parameter){
$shvalue=NULL;
if (isset($_GET[$parameter])){
return $_GET[$parameter];
} else if (isset($_POST[$parameter])){
return $_POST[$parameter];
}
}
或者,您可以使用三元运算符,因为如果两者都未设置,您仍然 returning NULL:
function valueFromGetOrPost($parameter){
$shvalue = (isset($_GET[$parameter]) ? $_GET[$parameter] : $_POST[$parameter]);
return $shvalue;
}
这是我的建议,使用 filter_input() 函数:
function valueFromGetOrPost($parameter)
{
$value = ($getValue = filter_input(INPUT_GET, $parameter))
? $getValue
: filter_input(INPUT_POST, $parameter);
return ($value) ? $value : NULL;
}