● 연산자란?
: 연산자는 +나 -와 같은 연산을 하는 기호입니다. PHP는 문자열을 포함하는 숫자를 그대로 산술 계산을 하는 등 암묵적 형변환(캐스팅)을 곳곳에서
합니다.
● 대입 연산자
: =은 대입 연산자로써, 왼쪽 항에 있는 변수or 상수등에 오른쪽 항의 값을 대입하고 설정합니다.
예를 들어 $a=2는 2를 $a변수에 넣는 식입니다.
$a, $b, $c를 각각 세개의 변수를 선언해줍니다. 그리고 우측에 100을 대입해줍니다.
그렇게되면 100이 $c에 대입되고, $c의 값인 100은 $b변수에 대입되고, $b의 값인 100이 $a에 대입됩니다.
그리고 출력해보면 모두 100이 나옵니다.
그리고 7번줄에서 $a변수에 1을 더해줍니다. 그러면 101이 출력됩니다.
● 복합 대입연산자
: 변수 자신에 대한 대입을 조합한 것입니다.
예를 들어 $a+=1은 $a = $a +1과 같습니다.
$a에 0을 대입해줍니다. 그리고 $a 복합대입연산자 +=를 사용해서 20을 더해줍니다.
즉, $a = $a+20이 됩니다. echo로 출력해보면 20이 출력됩니다.
● 산술 연산자
: 수치계산을 하는 연산자 입니다. a와b를 연산해서 결과를 계산하지만 변수의 값은 그대로 둡니다.
예를 들어 $total - 5는 변수 $total에서 5를 뺀값을 계산하는 연산자지만, 계산후에 변수 $total 값은 그대로 유지됩니다.
$amount변수에 54750값을 대입해줍니다.
$rest변수에는 $amount를 4로 나눈 나머지값을 대입해줍니다.
그리고 $person변수에 1인으로 계산해준 값을 대입해주고, 부족한 값을 $rest에 대입해줍니다.
문자열에 있는 숫자값을 사용해서 계산하는 방법입니다.
숫자가 들어있는 문자열을 계산식으로 사용하면 PHP는 자동으로 숫자 부분만 정수로 취해서 계산합니다.
● 증가 / 감소 연산자
: 변수에 1을 더하거나, 빼는 연산을 자주하게 되는데 ++$a는 변수 $a값을 1을 증가시킵니다.
--$a도 같은 형태로 1을 감소합니다.
$a변수에 0을 대입해줍니다.
그리고 $b변수에 $a++와 같이 ++를 변수 뒤에 쓰면 문장이 끝날 때 연산이 이루어집니다.
0의 값이 들어있으므로, 0을 먼저 대입하고 1이 증가합니다.
이것을 후치 증가 연산이라고 합니다.
반대로, $c에 0을 대입해주고, $d에 ++$c로 대입해주었습니다. ++가 앞에있으면 연산을 먼저 하기때문에 1이 대입됩니다.
그래서 $d는 값이 1이 대입됩니다.
\$에 있는 '\'는'$'를 문자로 표시하기 위한 이스케이프 시퀀스 입니다.
● 비교 연산자
: 비교연산자는 크기를 비교하는 연산자입니다. true 또는 false의 논리 값입니다.
$a변수에 7을 대입해주고, $b변수에 10을 대입해줍니다.
$result1와2변수를 각각 비교 연산자를 통해 비교해주고 boolean형으로 리턴되어서 true와 false가 출력됩니다.
● 논리 연산자
; 논리 값을 연산하는 것이 논리 연산자입니다. 논리 값을 연산한 결과도 논리 값이 됩니다.
and와 or은 &&와 ||로 쓸수있지만, 위 사진에서 실습은 and 와 or을 사용해주었습니다.
여기서 주의할점은 $result1 = ($test1 and $test2)를 괄호로 감싸주지않고, $result1 = $test1 and $test2라고 입력하면
에러가 발생합니다. 왜냐하면 =가 우선순위에 있기때문에 $test1이 $result1에 먼저 대입을 하고 and처리하기때문에
우선순위때문에 괄호를 반드시 붙여줍니다.
● 삼항 연산자
: ?:은 피연산자가 세 개 있는 연산자로 삼항 연산자라고 합니다.
형식은 논리식 ? true일때의 값 : false일때의 값 입니다.
mt_rand는 0~50사이에 있는 정수에 랜덤으로 한개의 정수값을 만들어줍니다.
$a와 $b를 각각 변수에 대입해줍니다.
출력된 값을 보면 $a는 35가 대입됬고, $b는 48이 대입됬습니다.
삼항연산자를 통해 $a>$b를 비교해주면 당연히 $b가 크기때문에 false가 됩니다.
그렇기에 $bigger변수에는 $b값이 대입됩니다.
● 비트 연산자
: 비트 시프트는 지정한 방향으로 자릿수를 옮기는 연산입니다.
10진수의 수치를 왼쪽으로 한 자리 옮기면 값이 열배가 되고, 2진수 값을 왼쪽으로 한자리 옮기면 값이 두배가 됩니다.
● 형 변환 연산자
: PHP는 변수에 형 선언을 할 필요가 없으며, 연산에 따라 값의 형이 자동으로 변환됩니다.
따라서, 값의 형을 의식하지 않고 코드를 작성할 수 있습니다. 가끔 형을 특정해야 할 때가 있는 이럴 때는 형변환 연산자를 사용합니다.
다만, 원래의 값을 변환하지 않고 값의 평가를 지정된 형으로 하는 것뿐입니다.
$theDate를 논리 값으로 평가하고 그 결과값을 $isAccess에 대입합니다.
$isAccess에는 $theDate에 new DateTime이라는 클래스 인스턴스를 대입했기에 값이 들어있기에 (bool)형변환해주면 true대입됩니다.
instanceof는 변수가 지정한 클래스의 인스턴스인지를 조사하는 연산자 입니다.
지정한 클래스의 인스턴스면 true, 그렇지않다면 false가 됩니다.
'Programming Language > PHP' 카테고리의 다른 글
[PHP] 자주 사용하는 수학 함수 (abs, ceil, floor, round, max, min, aqrt, pow, mt_rand, pi, sin, cos, in_nan 등등) (0) | 2019.09.01 |
---|---|
[PHP] for문 ( 반복문) (0) | 2019.08.31 |
[PHP] while문과 do-while문 (반복문) (0) | 2019.08.30 |
[PHP] 조건문 ( if문 / switch문 ) (0) | 2019.08.29 |
[PHP] Sublime Text2(에디터) 설치방법 / 다운로드 (+PHP 실행) (0) | 2019.08.27 |
[PHP] 윈도우 환경에서 PHP한번에 설치 및 실행하기 (+ MySQL / Apache) (0) | 2019.08.26 |
[PHP] 문자, 변수 값 표시하기 (echo, print_r, var_dump) (0) | 2019.08.25 |
[PHP] 변수, 상수 / 주석 (0) | 2019.08.24 |