IT TIP

! = 및! ==와 같지 않은 PHP

itqueen 2020. 12. 6. 22:29
반응형

! = 및! ==와 같지 않은 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

반응형