차이

2011-12-23 3 views
1

가능한 중복 :
What's the difference between “<>” and “!=”?차이

사업자 != 및 PHP에서 <>의 차이점은 무엇입니까? 변수가 NULL과 같지 않은지 확인해야합니다. 어느 연산자를 사용해야합니까?

+3

당신은 대답을 읽을 수 있습니다 : http://stackoverflow.com/questions/3956362/whats-the-difference-between-and- 만약 무언가가 NULL인지 확인하려면'is_null()'을 사용할 수 있습니다. – Quasdunk

답변

5

두 연산자의 차이점은 없습니다.

하지만, 대신 신원 연산자 ===을 사용할 수 있습니다 NULL를 확인하려면 :

$a = 0; 

if ($a == NULL) { 
    // executes 
} 

위의 조건은 실제로 true로 평가합니다. 변수 정말 경우 신원 연산자로, 그러나, 당신은 확인할 수NULL (또는도 : TRUE 또는 FALSE 또는 아무것도, 당신은 실제 값을 확인해야하고 하지 이전 유형의 결과 변환). 희망은 그 말이 맞습니다.

편집 : 실제로 질문에 대답하고 변수가 널 아닌지 확인하기 위해, 내 폭언를 참조하려면, 당신은 신원 운영자의 대응을 사용할 수 있습니다 !== (또는 다른 답변과 의견에 제안 is_null()).

+0

<>와! = 사이에는 우선 순위 차이가 약간 있지만, 가장 복잡한 조건 인 –

1

첫 번째 구글 결과 :

그것은 말한다 :

$a != $b Not equal TRUE if $a is not equal to $b after type juggling. 
$a <> $b Not equal TRUE if $a is not equal to $b after type juggling. 

또한 처리 방법 널 설명합니다 해당 페이지의 테이블있다

http://php.net/manual/en/function.is-null.php

+2

+1에 영향을 미치지는 않습니다. 항상 모두 RTFM해야합니다. – Toto

0
==' (Equal): 

if("22" == 22) echo "YES"; 
else   echo "NO"; 

위의 코드는 "예"라고 인쇄됩니다. 그 이유는 피연산자의 값이 동일하기 때문입니다. 반면 아래의 예제 코드를 실행하는 경우 :

결과는 "NO"입니다. 그 이유는 두 피연산자의 값이 같지만 유형이 다르더라도 "22"(따옴표 포함)는 문자열이고 22 (따옴표 제외)는 정수입니다. 우리는 다음에 위의 코드를 변경한다면 :

if("22" === (string)22) echo "YES"; 
else   echo "NO"; 

더 < 없다> 등의 연산자는 이러한 <입니다 = 또는 정수 변수> = 사용되는.

사용한다 null 값을 확인하려면 :

if($a == 'null') or if (isset($a)) 

모두 유사한 작동합니다.