Как проверить, пуст ли $_GET
?
Вы сами это сказали, убедитесь, что он empty
:
if (empty($_GET)) { // no data passed by get }
Смотрите, PHP настолько прост. Вы можете просто написать, что вы думаете;)
Этот метод достаточно безопасен. !$_GET
может дать вам неопределенную переменную E_NOTICE, если $_GET
был не установлен (это не вероятно, но возможно).
я думаю, что самый простой способ, который не требует каких-либо операторов, – это
if($_GET){ //do something if $_GET is set } if(!$_GET){ //do something if $_GET is NOT set }
Просто чтобы дать некоторые варианты здесь: вы можете проверить
if ($_SERVER["QUERY_STRING"] == null)
он полностью идентичен тестированию $_GET
.
<?php if (!isset($_GET) || empty($_GET)) { // do stuff here }
Легко.
if (empty($_GET)) { // $_GET is empty }
if (!$_GET) echo "empty";
зачем вам такая проверка?
лол
вы, ребята, слишком настроены.
не воспринимайте как преступление, но иногда не склонны
$ _GET – это особая переменная, а не как другие.
он должен всегда устанавливаться. нет необходимости рассматривать его как другие переменные. когда $ _GET не установлен, и это ожидается – это случай с чрезвычайным происшествием, и это то, что было вызвано уведомлением «Неопределенная переменная» для
Я бы использовал следующий оператор if, потому что его легче читать (и модифицировать в будущем)
if(!isset($_GET) || !is_array($_GET) || count($_GET)==0) { // empty, let's make sure it's an empty array for further reference $_GET=array(); // or unset it // or set it to null // etc... }
Вот три разных способа проверить это
<?php //Method 1 if(!empty($_GET)) echo "exist"; else echo "do not exist"; //Method 2 echo "<br>"; if($_GET) echo "exist"; else echo "do not exist"; //Method 3 if(count($_GET)) echo "exist"; else echo "do not exist"; ?>