Как проверить, если $_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 (!$_GET) echo "empty";
зачем вам такая проверка?
лол
Вы, ребята, слишком прямолинейны.
не обижайся, но иногда вообще не склонен думать
$ _GET — это особая переменная, не похожая на другие.
это должно быть всегда установлено. нет необходимости рассматривать его как другие переменные.
когда $ _GET не установлен и ожидается — это чрезвычайная ситуация случай, и это то, что придумано уведомление «Неопределенная переменная»
Легко.
if (empty($_GET)) {
// $_GET is empty
}
Я бы использовал следующее утверждение 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...
}
Вот 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";
?>