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
생성 된 토큰은 어디에 있습니까 ? 따라서 Bison 파서 는 <>
및 !=
토큰을 구분하지 않고 동일하게 취급합니다.
%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
수락 된 답변이 지적했듯이 구현 은 동일하지만 문서 에는 미묘한 차이가 있습니다 ...
에 따르면 이 페이지<>
연산자보다 약간 높은 우선 순위를 갖습니다 !=
.
이것이 Zend 구현의 버그인지, 문서의 버그인지 아니면 PHP가 우선 순위 규칙을 무시하기로 결정한 경우 중 하나인지 확실하지 않습니다.
업데이트 : 문서가 업데이트되지 않고 어떤 차이가 사이에 더 이상 존재 <>
하고 !=
.
그들은 동일합니다. 그러나 값 과 유형으로 정의 된 정확한 동등성을 테스트하는 !==
및 ===
연산자 도 있습니다 .
<>
더 크거나 작다는 것을 의미합니다. !=
같지 않음을 의미합니다. 그들은 기본적으로 같은 것을 의미합니다.
모두가 동일하다고 말했듯이 하나는 C 스타일 / 쉘 언어 분기에서 하나, 과거에 고도로 통합 된 MySQL을 포함하여 다른 하나에서 하나입니다.
<>
!=
같지 않음에 대한 적절한 PHP 스타일 인 동의어 인 구문 설탕으로 간주되어야합니다 .
트리플 문자 식별 기능에 의해 더욱 강조됩니다 !==
.
<>
!=
둘 다 T_IS_NOT_EQUAL
토큰 으로 구문 분석되므로 연산자 와 정확히 동일 합니다 .
참조 URL : https://stackoverflow.com/questions/4294579/difference-between-not-equal-operators-and-in-php
'Nice programing' 카테고리의 다른 글
리프팅 운영자는 무엇입니까? (0) | 2020.12.29 |
---|---|
Windows 경로에 실행 파일이 있는지 확인 (0) | 2020.12.29 |
스레드 중단 (Thread.Abort 메서드)과 같은 작업을 중단 할 수 있습니까? (0) | 2020.12.29 |
Html.ActionLink를 동적으로 전달할 수 없습니다. (0) | 2020.12.29 |
asp.net mvc에 대한 Ninject 및 Filter 속성을 사용한 종속성 주입 (0) | 2020.12.29 |