Я сделал несколько поисков и ничего не придумал, я уверен, что это очевидно.
В основном я пытаюсь работать, если что-то было передано через GET из формы.
Я знаю, как проверять отдельные элементы, но я просто хочу сделать быструю проверку, если что-нибудь вообще пройдет
ура
Будьте осторожны при использовании count($_GET)
. Если вы отправите форму с пустыми значениями, она все равно будет создавать ключи для полей, а ваш count()
будет больше 0 и empty($_GET)
будет ложным.
<?php print_r($_GET); ?> <form action="" method="get"> <input type="text" name="name"> <textarea name="mytext"></textarea> <input type="submit"> </form>
Убедитесь, что поля на самом деле не пустые:
function ne($v) { return $v != ''; } echo count($_GET); // prints 2 echo count(array_filter($_GET, 'ne')); // prints 0
Это должно сделать работу:
if (!empty($_GET)) { }
if ( count($_GET) > 0 ) echo("I hear you!");
if(empty($_GET)) { /* no parameters passed*/}
просто проверьте длину массива $ _GET с помощью count ($ _ GET). если никто не прошел, он должен быть 0
Просто «просто»: if($_GET){ /* parameters passed*/}
(для текущего запроса) работает, чтобы проверить, была ли какая – либо строка запроса передана в запросе GET
или POST
.
Это связано с тем, что пустой массив является false
в контексте boolean if($x)
.
См .: http://php.net/manual/en/types.comparisons.php
Так что действительно нет необходимости в count()
или empty()
.