2012-04-04 37 views
0

這個問題有點奇怪。爲什麼顯示「不爲空」,如果發送的值爲空?有什麼理由呢?檢查變量是否爲空 - 驗證不正確

Parametersapplication/x-www-form-urlencoded 
lists_owned null 
Source 
lists_owned=null 

<?php 
$lists_owned = $_POST['lists_owned']; 

var_dump($lists_owned); // string(4) "null" 

if(!is_null($_POST['lists_owned'])) { 
    echo "Is not null"; I see this echo 
} 
?> 

感謝

+1

伊格納西奧是正確的,此外,檢查如果'$ _POST [ 'lists_owned']'訪問它之前設置:'$ lists_owned = isset($ _ POST [ 'lists_owned' ])? $ _POST ['lists_owned']:null;'之後只使用'$ lists_owned'變量,設置$ lists_owned並且從不使用它是沒有用的。 – mamadrood 2012-04-04 02:31:32

回答

4

"null"null。如果你想檢查"null"那麼你應該使用平等。

if($_POST['lists_owned'] != 'null') { 
1

這是因爲你的崗位價值是一個名爲「空」而不是實際的空值的字符串。

0

看起來你的值實際上是字符串「null」,而不是值null。即

<?php 
$x = "null"; 
$y = null; 
var_dump($x); 
var_dump($y); 
?> 

輸出

string(4) "null" 
NULL