2013-01-15 1 views
0

나는 축구 점수 (목표 차이)가있는 데이터베이스를 가지고 있습니다."0"과 null을 구분하는 방법은 무엇입니까?

p12_score1 3, -2, 0을 포함하고 NULL 내가하고 싶은 모든 모든 (0 포함)의 차이를 점수를 인쇄하고 값 (MySQL의에서 NULL을)이없는 행을 무시하는

. 그러나 is_null은 값 0을 null로 간주하고 인쇄하지 않습니다.

IF(!$p12_score1==NULL){ 
$equal[] = $p12_score1; 
} 
else { 
echo "null"; 
} 
print_r ($equal); 
+0

if (! $ p12_score1 === null) 사용 : http://php.net/manual/en/language.operators.comparison.php – dbrumann

답변

3

is_null하지null0 동일한 값을 고려한다.

코드는 ==을 사용하여 비교를 실시하지만이 구분은하지 않습니다. 대신 identical operator=== 또는 is_null을 사용

// One way to do it: 
if(!$p12_score1 !== NULL) 

// Another: 
if(!is_null($p12_score1)) 
1

그러나 is_null은 0 값에 null을 고려하고 인쇄되지 않습니다. (일부 다른))에서 느슨한 타입이 null0 같다 languaged :

http://codepad.org/mjiGfhTB

은 그러나 comparisong 연산자

$p12_score1==NULL 

이 경우를 사용한다. 그러나, PHP는 신원 comparisong

$p12_score1===NULL 

(!) 참고 지원 : !$a == $b 약간 못생긴입니다. "같지 않음"!= 또는 !==을 사용하십시오.

0

이 시도 :

IF (!$p12_score1 === NULL) 

이를 : 당신은 당신이 당신의 코드를 변경해야하는 대신 SQL의 PHP에서이 작업을 수행하려면

IF(!empty($p12_score1)){ 
$equal[] = $p12_score1; 
} 
else { 
echo "null"; 
} 
print_r ($equal); 
0

if($p12_score1 !== null) { 
    $equal[] = $p12_score1; 
} else { 
echo "null"; 
} 
print_r ($equal); 
0

시도 방법은 $p12_score1이고 정확히임을 확인합니다.

0

기능 is_null가 작동해야합니다. 다른 옵션은 is_int입니다. 나는 둘 다 시도하고 모두 제대로 작동합니다.

관련 문제