Как проверить, пусто ли $ _GET?

Как проверить, если $_GET пустой?

46

Решение

Вы сказали это сами, убедитесь, что это empty:

if (empty($_GET)) {
// no data passed by get
}

Видите, PHP так прост. Вы можете просто написать, что вы думаете;)

Этот метод довольно безопасен. !$_GET может дать вам неопределенную переменную E_NOTICE, если $_GET был не установлен (не вероятно, но возможно).

112

Другие решения

Я думаю, самый простой способ, который не требует каких-либо операторов

if($_GET){
//do something if $_GET is set
}
if(!$_GET){
//do something if $_GET is NOT set
}
13

Просто, чтобы представить некоторые варианты здесь: вы можете проверить

if ($_SERVER["QUERY_STRING"] == null)

это полностью идентично тестированию $_GET,

9

<?php
if (!isset($_GET) || empty($_GET))
{
// do stuff here
}
7
if (!$_GET) echo "empty";

зачем вам такая проверка?

лол
Вы, ребята, слишком прямолинейны.
не обижайся, но иногда вообще не склонен думать
$ _GET — это особая переменная, не похожая на другие.
это должно быть всегда установлено. нет необходимости рассматривать его как другие переменные.
когда $ _GET не установлен и ожидается — это чрезвычайная ситуация случай, и это то, что придумано уведомление «Неопределенная переменная»

4

Легко.

if (empty($_GET)) {
// $_GET is empty
}
3

Я бы использовал следующее утверждение 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...
}
2

Вот 3 различных способа проверить это

<?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";
?>
2
По вопросам рекламы [email protected]