web-dev-qa-db-ja.com

$ _GETが空かどうかを確認する方法は?

$_GETは空ですか?

52
Vamsi Krishna B

自分で言ったので、それが empty であることを確認してください:

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

PHPはとても簡単です。あなたが思うものを単純に書くことができます;)

この方法は非常に安全です。 !$_GETが未設定の場合、$_GETは未定義の変数E_NOTICEを与える可能性があります(可能性はありませんが、可能です)。

117
NikiC

私は演算子を必要としない最も簡単な方法だと思います

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

ここにいくつかのバリエーションを提供するだけです:

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

$_GETのテストと完全に同じです。

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

なぜあなたはそのようなチェックが必要ですか?


皆さん、あまりにも直接的な考えを持っています。
攻撃とは思わないが、時にはまったく気にしない
$ _ GETは非常に特殊な変数であり、他の変数とは異なります。
常に設定されることになっています。他の変数として扱う必要はありません。 $ _GETが設定されておらず、予期されている場合-それは緊急ケースであり、それが「未定義変数」通知が発明したものです

4

簡単です。

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

読みやすい(そして将来変更する)ため、次の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
vlad b.

これを確認する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
user2541787