안녕하세요 워누입니다.
오늘은 PHP에서 사용하는 비교연산자 중 헷갈릴만한 요소를 포스팅해보고자 합니다!
.
우선 소스부터 함께 보시죠!
.
:: 소스코드 - equalTest.php ::
<?php
$int5 = 5; // 정수형 숫자 5
$str5 = '5'; // 문자열 5
if ($int5 == $str5){
echo "true"."<br>";
} else {
echo "false"."<br>";
}
if ($int5 === $str5){
echo "true"."<br>";
} else {
echo "false"."<br>";
}
?>
위 소스코드는 숫자 5와, 문자열 5를 비교하여 같으면 true, 다르면 false를 출력하는 소스코드입니다.
아래 결과를 보기 전 결과가 어떨지 미리 생각해보아요~
.
결과는 어떤지 이제 한번 보도록 하죠!
.
:: 결과화면 ::
비교연산자 중 '==' 으로 비교한건 true가 나오고, '===' 으로 비교한건 false가 나왔네요!
이유는 '=='으로 비교할 땐 값의 일치여부만 판단하지만,
'==='으로 비교하게 되면 자료형의 일치여부까지도 판단하기 때문인데요!
즉, 변수 int5와 str5의 값은 동일하게 '5'이므로 '=='으로 비교하였을 땐 같다고 판단하여 true를,
'==='으로 비교하였을 땐 자료형이 각각 정수, 문자열로 서로 다르기에 false를 출력하였습니다!
.
그렇다면 부정을 의미하는 !=, !==은 어떤지 같이 살펴 볼까요?
:: 소스코드 - equalTest2.php ::
<?php
$int5 = 5; // 정수형 숫자 5
$str5 = '5'; // 문자열 5
if ($int5 != $str5){
echo "true"."<br>";
} else {
echo "false"."<br>";
}
if ($int5 !== $str5){
echo "true"."<br>";
} else {
echo "false"."<br>";
}
?>
이번엔 반대로 다르면 true, 같으면 false를 출력하도록 바꿨습니다.
결과를 바로 보시죠!
:: 결과화면 ::
예상대로 '!='로 비교하였을 땐 두 변수 모두 같은 값을 가지고 있어 false를 출력하였고,
'!=='으로 비교하였을 땐 두 변수의 자료형이 다르니 true를 출력하였네요!
!= 연산자는 값의 다름만을 판별하지만,
!== 연산자는 값은 물론 자료형의 다름까지 판별한다는 점을 알게 되었네요 ㅎㅎ
.
위에서 언급한 '==', '===', '!=', '!==' 비교연산자는 javascript에서도 동일하게 적용된다고 하네요!
php가 웹에 특화된 언어인 만큼 javascript를 같이 사용하시는 분도 많을테니 참고하시면 도움이 될 듯합니다!
이번 포스팅도 유용한 글이 되었기를 바라며, 여기서 마무리 하겠습니다!
그럼 2만~
'PHP' 카테고리의 다른 글
[PHP] 다른 서버로 파일을 전송하는 방법!? (0) | 2021.12.20 |
---|---|
Bitnami WAMP 스택을 이용해서 PHP 한번에 설치하기! (0) | 2021.08.22 |
[PHP] JSON데이터 다루기 (+stdClass Object) (1) | 2021.07.08 |
[PHP] 이미지 파일 업로드하기! (4) | 2021.02.14 |
[PHP] 로그파일 만들기! (feat.계산기) (0) | 2021.01.25 |