PHP ===, !== 비교연산자. 무엇에 쓰는 물건인고?

일단 코드하나.
$a=1; $b="1";

if($a==$b){echo '1, == 동일<br>';} // 출력
if($a===$b){echo '1, === 동일<br>';} // 값은 같지만 타입이 달라 출력안함
​
$a="1"; $b="1";
if($a==$b){echo '2, == 동일<br>';} // 출력
if($a===$b){echo '2, === 동일<br>';} // 데이터타입과 값이 같아 출력
문제는 이 코드다.
$a=1; $b="2";

if($a!=$b){echo '1, != 다름<br>';} // 다른값 출력
if($a!==$b){echo '1, !== 다름<br>';}  // 타입도 다르고 값도 다르고 출력
​
$a="1"; $b="2";
if($a!=$b){echo '2, != 다름<br>';}  // 다른값 출력
if($a!==$b){echo '2, !== 다름<br>';}  // 타입은 같으나 다른값이라 출력 
​
$a=1; $b="1";
if($a!=$b){echo '3, != 다름<br>';}  // 같은값 출력안함
if($a!==$b){echo '3, !== 다름<br>';}  // 같은 값이지만 타입이 달라 출력

!== 연산자는 조금 다르게, 데이터타입이 다르던지 값이 다르던지 하면 된다.

===은 값과 타입이 같아야 true 였는데.. !==는 둘중 하나만 다르면 되므로, 타입만 비교하려면 gettype 을 사용하면 된다.
숫자인데, 숫자가 아니라 문자로 넘겨온 숫자를 판별할때 유용하다. 이건 숫자니까 문자랑 비교하면 안돼! 라고…
뭐 그런거였다.
===는 알고 있었지만 !== 사용법을 오랫동안 잘못 알고 있어서, 혹시나 나처럼 잘못 알고 있는 사람들을 위해.~~
다행이 !==는 그다지 사용할 일이 없어서…
추가. 위에 소개한 gettype은 이렇게 사용하는거..
$a=1; $b="1";

if(gettype($a)==gettype($b)){echo '1, 같은거';} //출력안됨
​
$a=1; $b=1;
if(gettype($a)==gettype($b)){echo '2, 같은거';} //출력됨
!= 와 <> 의 차이점.
그딴거 없다. 스펙상으로 != 가 <> …
스펙상으로도 그렇고, 실제 비교구문 테스트 해도 어떤 차이점도 발견할 수 없음.

PS. 아 다른거 있다~~ 왠지 <>로 문자열을 비교하면 더 잘 비교할것 같은 느낌이 든다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그것도 아주 강력한 느낌이 ㅋㅋㅋㅋ
PS1. 내가 문자열을 비교하는건지 숫자를 비교하는건지 구분해주기 위해서 실제 문자열에는 <>를 자주 이용한다. 그러나 실제 아무의미 없음, != 가 <> ㅋㅋㅋ