본문 바로가기

웹 프로그래밍/PHP

[PHP 프로그래밍] 비교


이번에 PHP에서 알아볼 것은 비교입니다.
비교를 알아야 조건문이나 반복문을 쓸 수 있습니다.
비교를 하는 방법은 여러가지 '연산자' 들을 통해서 비교를 하는데요,
연산자의 종류는 대입 연산자, 비교 연산자가 있습니다.
먼저 연산자에 대해서 알아 봅시다.
연산자란?
값을 이용한 작업을 컴퓨터를 통해 실행할때 쓰는 기호입니다.
왼쪽 데이터 값과 오른쪽 데이터 값을 비교하여 맞다면 true, 틀리다면 false를 내보냅니다.
이를 통해 조건문과

연산자의 종류
연산자는 오른쪽의 값을 왼쪽에 대입하는 대입 연산자,
왼쪽을 오른쪽과 비교하는 비교 연산자 정도가 있습니다.
(사칙연산은 제외함)
대입 연산자
대입 연산자는 = 기호로 우리가 전에 사용한 적이 있죠.
그렇기 때문에 사용방법 먼저 보도록 하겠습니다.

사용 방법
데이터값 = 데이터값

간단하죠? 대입 연산자는 말 그대로 오른쪽의 데이터 값을 왼쪽의 데이터 값에 대입하는 역할을 해 주는
연산자이며 우리가 배우기도 전에 쓴 만큼 가장 많이 쓰이는 연산자입니다.

<?php
     $a = 1;
?>
변수 a에 1을 대입하는 코드입니다.
지금까지 쓴 만큼 굳이 더 설명하지는 않겠습니다.

비교 연산자
앞에서 대입을 할때 = 기호를 썼는데 그렇다면 왼쪽과 오른쪽이 같은가를 확인할때는 어떤 기호를 써야하는지 알아봅시다.
간단하게 =를 한번 더 써서 == 를 쓰거나 ===를 써서 확인할 수 있습니다.
<?php
     var_dump(1==1); // true
     var_dump(1==2); // false
     var_dump(1===1); // true
     var_dump(1===2); //false
     var_dump("1"==1); // true
     var_dump("1"===1); // false
?>
위에서 var_dump 는 데이터를 표시해주는 기능을 하게 됩니다.
1==1 은 1이 1과 같기에 반환된 데이터값인 true 를 출력해 주었습니다.
네 번째 줄까지 본다면 둘 다 똑같이 실행되지만 다른 점이 있습니다. 발견하셨나요?
만약 우리가 숫자 1을 변수에 넣고 변수를 출력하면 1이 출력이 될 것이고
문자열 1을 변수에 넣고 변수를 출력해도 1이 출력겠죠
그러나, 둘은 엄연히 숫자와 문자열이기 때문에 출력은 똑같이 출력되지만 의미는 다르죠.
차이는 여기에서 옵니다.
==은 출력이 똑같이 되는지를 체크하고, 
===은 둘이 '완전히' 같은지를 체크하기 때문에
==은 숫자 1과 문자 1을 같게 인식하지만
===은 숫자 1과 문자 1을 다르게 인식하게 됩니다.
문자 1과 숫자 1은 뜻이 다르기 때문입니다. 
그렇기 때문에 정확도는 ===이 더 높다고 할 수 있겠죠. 그렇기 때문에 대부분의 경우에서는
===를 사용하길 권장드립니다.
그리고 맨 앞의 = 하나를 빼고 !를 넣는다면 완전히 반대의 뜻이 됩니다.
!=과 !== 로 쓸 수 있고 왼쪽의 데이터값이 오른쪽과 다르다면 true를 반환하고 같다면 false를 반환하게 됩니다.

다음은 숫자의 크기 비교입니다.
숫자의 크기 비교는 일반적으로 사용하는 것과 같이 > 나 < 같은 부호를 사용합니다.

<?php
     var_dump(1<2); // true
     var_dump(1>1); // false
?>
그런데 JS에서는 이상이나 이하를 어떻게 표현하는 방법을 알아보죠.
그럴 때에는 =를 뒤에 추가하면 됩니다.

<?php
     var_dump(1>=1 ); // true
     var_dump(1<=0 ); // false
?>
위와 같이 이용하면 비교 연산자와 대입 연산자를 쓸 수 있습니다.
다음 시간에는 if와 else, 그리고 if else 를 통해서 조건문을 만들어서
어떠한 경우에 프로그램 코드가 실행되도록 하는 방법을 알아보도록 할 겁니다.

만약에 이 강의가 도움이 되었으면 댓글을 한번씩 달아 주었으면 좋겠습니다.