2012-04-04 3 views
0

이 문제는 약간 이상합니다. 전송 된 값이 null 인 경우 왜 "is not null"이 표시됩니까? 그 이유가 뭐야?변수가 null인지 확인 - 잘못된 유효성 검사

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'] '를 액세스하기 전에 설정되어 있는지를 확인하여, 권리 ]))? $ _POST [ 'lists_owned'] : null;'그 후에'$ lists_owned' 변수 만 사용하면 $ lists_owned를 설정하지 않고 쓸 수 없습니다. – mamadrood

답변

4

"null"null 없습니다. "null"을 확인하려면 평등을 사용해야합니다.

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

이것은 게시 값이 'null'이라는 문자열이며 실제 null 값이 아니기 때문입니다.

0

값이 실제로 null 인 null이 아닌 "null"인 것처럼 보입니다. '$ lists_owned =는 isset ($가 _ POST ['lists_owned '즉

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

출력

string(4) "null" 
NULL 
관련 문제