삽질의 현장/- PHP

[삽잡이::php] ==(equal) 와 ===(identical) 의 차이

shovelman 2016. 6. 18. 01:00



== 라는 연산자는 

코딩을 아주 쪼~금이라도 해보신 분은 아실만한 연산자입니다.

예 그렇습니다. Equal이라는 의미의 연산자입니다.


그런데, php에서 재미있는 연산자가 하다 더 있습니다.

바로 Indentical 이라는 연산자입니다.


어떻게 생겼는데~~ 


예 바로! 



이렇게 생겼습니다.


뭐야!!! == 쓰려다가 오타로 하나 더 쓴거 아니야!? 


예... 아닙니다.


아래의 예시를 확인해보겠습니다.


1
2
3
4
5
if('1' == 1) {
    echo "true";
} else {
    echo "false";
}
cs

해당 코드의 결과는 무엇일까요!?


바로 true를 출력해줍니다.


정수를 문자열과 비교하게 되면 문자열은 수로 변환 됩니다.




(출처_ PHP)


예 그렇습니다. 정수로 비교된다는 것이지요!!!


아하... 그래서 true가 되는 것이었구나! 



1
2
3
4
5
if('1' === 1) {
    echo "true";
} else {
    echo "false";
}
cs



Indentical 연산자를 사용한 해당 코드는 어떻게 될까요?


예 그렇습니다.

예상대로 false 가 출력되게 됩니다.


이유는 뭘까요!?


Identical 이라는 연산자는 

자료형 까지 같은지 비교하기 때문입니다.


뭔가 좀 더 엄격한 비교 연산자이지요?



굳~