2009-08-11 5 views
8

난 그냥 우연히 PHP 코드의 조각을 우연히 발견하고 저자가왜 PHP는 두 개의 "같지 않음"연산자 (! = 및 <>)

비교를하지 동등한 일을 볼 수 있습니다 :

if ($variable <> "") { 
    echo "Hello, I am having some value"; 
} 

난 항상 !=를 사용 :

if ($variable != "") { 
    echo "Hello, I am having some value"; 
} 

상황, <> 이상 <> 사용해야 할 때?

+1

당신이 PHP에서><내가 볼 – dassouki

답변

3

가 나는 다른 언어로 존재하기 때문에 <가> 운영자가

모두 <>와 = 거의 정확히 같은 의미 (SQL 예를 들어) PHP로 구현 된 생각하십시오 내가 그들의 우선 순위와 관련이 찾을 관리했습니다 유일한 차이점 : Operator Precedence를 참조하십시오 그들은 내가해야

비록 (그 두 사이에 차이가 있다는 뜻, Afterall는) 같은 줄 ^^ 에없는 나는 인정한다. PHP에서 사용 된 <>을 보았습니다.

사람들은 일반적으로! =; 아마 똑같은 일을해야한다. 그것은 코드를 이해하기 쉽게 만든다.

그리고 btw도 타입 비교를하는! == 연산자를 가지고 있습니다. 하지만 참고로 그 ^^


같은 더 < < >> 운영자 또는 아무것도 없다 : Comparison Operators

+0

코드를 이해하기 쉽게 만드는 것에 동의합니다. – TigerTiger

+0

사실 저는 고백했습니다. 나는 PHP에서 연산자가 있다는 것을 기억조차하지 못했습니다. ^^ 심지어 코드가 작동 하는지를 테스트했습니다. ^^ 일부 소스 코드를 보면 이상하게 느껴질 것입니다! (나는 오래전에이 설명서를 본 적이 있다고 생각한다. 그러나 기억조차하지 못했다. ^^) –

+1

*** *** [같은 줄에] (http://php.net/ manual/en/language.operators.precedence.PHP) (당신이 대답했을 때 우선 순위가 다를 수 있습니다). –

4

PHP를 처음 개발했을 때 디자인 목표 중 하나는 언어를 유연하게 만드는 것이 었습니다. 그래서 모든 루프 유형과 모든 연산자 유형을 고려했을 것입니다.

<>!=in terms of precedence 카테고리와 약간 다르지만 그 사이에있는 연산자는 실제적인 차이가 전혀 없음을 의미합니다.

3

좋은 질문입니다. 하나의 미묘한 차이를 제외하고는 동일합니다. <> has higher precedence than !=

왜 그럴까요? 일을 기대하는 방식으로 작동하도록 만듭니다. PHP는 차용 한 아이디어로 만들어졌으며 C 프로그래머가 $foo != $bar을 선호하는 경우 기본 배경을 가진 사람이 눈에 더 쉽게 $foo <> $bar을 발견 할 수 있습니다. 각자 자기 자신에게!

+0

아를 할 수 알지도 못하는이 ..하는 것은 적어도 일부는 "이 "차이. ;-) – TigerTiger

관련 문제