web-dev-qa-db-ja.com

$ _GETパラメータが存在するが値がないかどうかを確認するにはどうすればよいですか?

appパラメータがURLに存在するかどうかを確認したいのですが、値がありません。

例:

_my_url.php?app
_

isset()empty()を試しましたが、機能しません。私はそれが以前に行われたのを見てきました、そして、私は方法を忘れました。

12
Ben

空は正しいです。セットと空の両方を一緒に使用したい

if(isset($_GET['app']) && !empty($_GET['app'])){
    echo "App = ".$_GET['app'];
} else {
    echo "App is empty";
}
24
Jay Hewitt

emptyは以下をチェックするため、機能しているはずです(if(empty($_GET[var]))...)。

次のものは空と見なされます。

""(空の文字列)
 0(0は整数)
 0.0(0は浮動小数点数)
 "0"(0は文字列)
 NULL 
 FALSE 
 array()(空の配列)
 $ var; (宣言された変数ですが、値がありません)

ここにあなたの選択肢があります:

is_null-変数がNULLかどうかを調べます

if(is_null($_GET[var])) ...

defined-指定された名前付き定数が存在するかどうかを確認します

if(defined($_GET[var])) ...
5
Kermit

簡単に確認できますarray_key_exists('param', $_GET);

これがあなたのURLであると想像してください:_http://example.com/file.php?param_。 paramクエリパラメータがありますが、値はありません。したがって、その値は実際にはnullになります。

trueが存在する場合、array_key_exists('param', $_GET);paramを返します。存在しない場合はfalseを返します。

2
Ali
if( isset($_GET['app']) && $_GET['app'] == "")
{

}
1
84em