! = 및! ==와 같지 않은 PHP
나는 항상 이것을 해왔 if($foo!==$bar)
지만 if($foo!=$bar)
그것도 옳다는 것을 깨달았다 . Double은 =
여전히 작동하고 항상 나를 위해 일해 왔지만 PHP 연산자를 검색 할 때마다 double에 대한 정보를 찾을 수 없으므로 =
항상 잘못했다고 가정하지만 어쨌든 작동합니다. 그래서 난 내 전부를 변경해야 !==
하는 !=
단지를 위해?
==
및 !=
계정으로 비교할 변수의 데이터 유형을 고려하지 않습니다. 따라서 이들은 모두 true를 반환합니다.
'0' == 0
false == 0
NULL == false
===
그리고 !==
않는 계정에 데이터 형식을. 즉, 문자열을 부울과 비교하는 것은 예를 들어 서로 다른 유형이기 때문에 결코 사실 이 아닙니다 . 모두 false를 반환합니다.
'0' === 0
false === 0
NULL === false
모호한 진실 / 거짓 값일 수있는 값을 반환하는 함수의 데이터 유형을 비교해야합니다. 잘 알려진 예는 strpos()
다음과 같습니다.
// This returns 0 because F exists as the first character, but as my above example,
// 0 could mean false, so using == or != would return an incorrect result
var_dump(strpos('Foo', 'F') != false); // bool(false)
var_dump(strpos('Foo', 'F') !== false); // bool(true), it exists so false isn't returned
! ==는 값 및 데이터 유형과 일치해야합니다.
! = 데이터 유형을 무시하고 값과 일치
$num = '1';
$num2 = 1;
$num == $num2; // returns true
$num === $num2; // returns false because $num is a string and $num2 is an integer
$a !== $b
$a
가 같지 $b
않거나 동일한 유형 이 아닌 경우 TRUE
참조하십시오 http://php.net/manual/en/language.operators.comparison.php
여기에서 정보를 찾을 수 있습니다 : http://www.php.net/manual/en/language.operators.comparison.php
PHP4까지 추가되지 않았기 때문에 부족합니다. 그러나 당신이 가진 것은 괜찮습니다. 유형 차이가있을 수 있다는 것을 안다면 그것은 값 뿐만 아니라 비교에서 값 과 유형을 테스트하기 때문에 훨씬 더 나은 비교 입니다.
참고 URL : https://stackoverflow.com/questions/3641819/php-not-equal-to-and
'IT TIP' 카테고리의 다른 글
.NET의`Array.Sort ()`메서드에서 사용하는 정렬 알고리즘이 안정적인 알고리즘입니까? (0) | 2020.12.06 |
---|---|
Datagridview에서 행을 선택하려면 마우스 오른쪽 버튼을 클릭하고 삭제할 메뉴를 표시합니다. (0) | 2020.12.06 |
로컬 서버에 이미지 쓰기 (0) | 2020.12.06 |
테이블 값 함수 실행 방법 (0) | 2020.12.06 |
std :: string 작업이 제대로 수행되지 않는 이유는 무엇입니까? (0) | 2020.12.06 |