Как использовать массив для определения пустой строки запроса $ _GET в PHP - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь проверить, что все запросы из формы заполнены, а не заблокированы, прежде чем продолжить дальнейшие действия.

У меня есть код, который уже работает, но я хотел бы сделать его массивом вдругие, чтобы сократить мой код.

Мои запросы формы a,b,c
Ниже мой текущий код:

if ( isset($_GET) && !isset($_GET['a']) || !isset($_GET['b']) || !isset($_GET['c']) ) 

{ //Reject call
}else{
//Process call
}

Я хочу сократить этот код с массивом, вот мойтекущий код, но это не работает.

$supportedrequests = array('a','b','c')
if (isset($_GET) && !isset($_GET[(in_array($supportedrequests))]) ) {
{ //Reject call
}else{
//Process call
}

Любая помощь приветствуется.

ОБНОВЛЕНИЕ Этот вопрос не является дубликатом Использование if (! Empty) с несколькими переменными, не входящими вмассив , потому что он специально основан на проверке самого запроса isset($_GET), если он существует, и, кроме этого, не было никакого ответа для указанной темы в указанной ссылке.

1 Ответ

0 голосов
/ 03 января 2019

Если вы хотите проверить метод запроса GET или POST, используйте это: $_SERVER['REQUEST_METHOD'] == 'POST'

Для проверки нескольких параметров вы можете объявить функцию и проверить их все.

function allIsset($params)
{
    foreach ($params as $param) {
        if (!isset($_GET[$param])) return false;
    }
    return true;
}

Или вы можете использовать этот метод (если вы хотите просто меньше строк кода)

$supportedrequests = array('a','b','c');
if (count(array_intersect(array_keys($_GET), $supportedrequests)) < count($supportedrequests)) {
//reject
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...