sourcecode

PHP에서 "비등한" 연산자 <>와 !=의 차이

codebag 2023. 7. 27. 21:57
반응형

PHP에서 "비등한" 연산자 <>와 !=의 차이

PHP에서, 다음과 같은 차이점이 있습니까?!=그리고.<>연산자?

설명서에는 다음과 같이 나와 있습니다.

$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.

큰 차이는 없는 것 같은데 궁금합니다.

메인 Zend 구현에서는 차이가 없습니다.PHP 언어 스캐너의 Flex 설명에서 얻을 수 있습니다.

<ST_IN_SCRIPTING>"!="|"<>" {
    return T_IS_NOT_EQUAL;
}

어디에T_IS_NOT_EQUAL 생성된 토큰입니다.그래서 바이슨 파서는 다음을 구별하지 않습니다.<>그리고.!=토큰 및 동등하게 취급합니다.

%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL

그들은 같습니다.하지만 또한 있습니다.!==그리고.===과 유형으로 정의된 정확한 동일성을 검정하는 연산자입니다.

<>더 크거나 작거나 둘 중 하나를 의미합니다.!=동일하지 않음을 의미합니다.그들은 기본적으로 같은 의미입니다.

모두가 동일하다고 말하지만, 하나는 C-style/shell 언어 브랜치에서 하나는 C-style/shell로, 다른 하나는 과거에 고도로 통합된 MySQL을 포함한 일부 언어에서 왔습니다.

<>의 동의어인 통사적 설탕으로 간주되어야 합니다.!=이것은 동등하지 않은 것에 대한 적절한 PHP 스타일입니다.

트리플 캐릭터 아이덴티티 기능에 의해 더욱 강조됩니다.!==.

연산자<>그리고.!=똑같습니다.

하지만, 스타일상, 저는 사용하는 것을 선호합니다.<>숫자 변수를 다룰 때.

즉, 다음과 같은 경우:

  • $a정수입니다.
  • $b정수입니다.

질문하는 대신:

// if $a is not equal to $b
if ($a != $b)

제가 묻겠습니다.

// if $a is either less than or greater than $b
if ($a <> $b)

이것은 내 코드의 시각적 힌트/리마인드입니다.$a그리고.$b의도적으로 둘 중 하나 또는 둘 다가 아닌 분명히 둘 다 숫자로 되어 있습니다.strings.

언급URL : https://stackoverflow.com/questions/4294579/difference-between-not-equal-operators-and-in-php

반응형