2012-09-19 90 views
9

我想檢查URL中是否存在app參數,但沒有任何值。

例子:

my_url.php?app 

我試圖isset()empty(),但不起作用。我以前見過它,我忘了如何。

+1

與「」比較? – BSull

回答

19

空是正確的。你想同時使用設置和空一起

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

如果您的「應用程序爲空」將顯示,如果它沒有設置在第一個地方,我會在那裏放一個elseif語句 – Scuzzy

+2

事實上,更準確的說法是: if(isset($ _ GET ['app']] )&&!empty($ _ GET ['app'])){ echo「App =」。$ _ GET ['app']; (isset($ _ GET ['app'])){ echo「App is empty」; } else { echo「App is not set」; } –

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

} 
5

empty應該是工作(if(empty($_GET[var]))...),因爲它會檢查以下內容:

下面的事情被認爲是空的:

"" (an empty string) 
0 (0 as an integer) 
0.0 (0 as a float) 
"0" (0 as a string) 
NULL 
FALSE 
array() (an empty array) 
$var; (a variable declared, but without a value)

這裏是您的選擇:

is_null - 檢測變量是否爲NULL

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

defined - 檢查是否一個給定的命名常量存在

if(defined($_GET[var])) ... 
0

你可以簡單地檢查由array_key_exists('param', $_GET);

想象一下這是你的網址:http://example.com/file.php?param。它有param查詢參數,但它沒有值。所以它的價值實際上是null

array_key_exists('param', $_GET);返回true如果param存在;如果它根本不存在,則返回false