Есть ли способ упростить эту функцию с помощью, скажем, 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. А затем вернуть значение параметра.

Я думаю, что это должно быть настолько распространенным, что оно должно быть там с какой-то встроенной функцией

0

Решение

использование $_REQUEST (документация).

Ассоциативный массив, который по умолчанию содержит содержимое $ _GET, $ _POST и $ _COOKIE.

Итак, ваш код будет выглядеть так:

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

}
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;

}
0

Вот мое предложение с использованием функции filter_input ():

function valueFromGetOrPost($parameter)
{
$value = ($getValue = filter_input(INPUT_GET, $parameter))
? $getValue
: filter_input(INPUT_POST, $parameter);

return ($value) ? $value : NULL;
}
0
По вопросам рекламы [email protected]