연산자 / 제어구조에 대해서 정리한다.
- 연산자
연산자 우선순위(아래일수록 우선순위가 높음)
,
or
xor
and
print
= += -= *= /= .= %= &= |= ^= <<= >>=
? :
||
&&
|
^
&
== != === !==
< <= > >=
<< >>
+ - .
* / %
! ~ ++ -- (int) (float) (string) (array) (object) @
[
new
* 우선순위를 전부다 외우려고 하기보단 괄호를 쳐서 순서를 명확하게 하는게 좋다.
- 연산자 종류
산술 연산자 : +, -, *, /, %(나머지)
대입 연산자 : =
비교 연산자 : < , >, <=, >=, ==, !=
증감 연산자 : ++ $a, $a ++, -- $a, $a --
논리 연산자 : and(&&), or(||), xor, !
문자열 연산자 : .
배열 연산자 : "+"를 이용한 배열끼리 합치기
실행 연산자 : `<백틱> ( 작은 따옴표가 아닌 ESC키 아래에 위치 )
에러제어 연산자 : "@" 기호를 사용해 해당 에러를 표시하지 않는다.
비트 연산자 : &, |, ^, ~(Not을 의미), <<, >>
( 실행 연산자인 백틱과 에러제어 연산자를 이용한 설명이다 )
제어구조 ( if, while, do.. while, continue, break, switch, include, require, return )
- if
if ( 조건문 ) {
if 조건 만족시 문장 실행
} elseif( 조건문 ) {
elseif 조건 만족시 문장 실행
} else {
위 조건이 모두 만족하지 않을때 문장 실행
}
- while
while ( 조건문 ) {
while 조건 만족시 문장을 실행해서 만족할때까지 실행
( 잘못하면 무한루프에 빠질수 있으므로 증감식이 필요하다 )
}
- do..while
do{
while문과 유사하게 동작하지만 처음에 무조건 한번은 문장을 실행하고 조건문을 비교한다.
} while ( 조건문 )
- for
for ( 초기값; 조건문; 증감연산; ) {
조건문이 만족 할때까지 문장을 실행
}
- break
for, while, switch 같은 루프를 빠져나올때 사용하는 명령어이다.
- continue
continue를 만나면 루프의 처음으로 되돌아가게 되고 숫자를 줘서 몇단계 루프를 벗어날지 설정할수 있다.
( continue를 이용해서 루프의 맨처음으로 돌아가거나 숫자를 지정해서 단계별로 루프를 제어 할수 있다 )
- switch
switch문은 각 case마다 실행 문장이 다르고 각 문장 끝에 break;를 넣어준다.
모든 case에 해당 되지 않았을때는 default 문장이 실행되게 된다.
( default 문장에는 break를 적지 않아도 된다 )
( switch 사용법 예시문 )
- require(), include()
외부 파일을 가져올때 사용하는 기능으로 require(), include()를 사용한다.
이 두가지 사이에 차이점이 존재한다.
1. require()는 수행실패시 Fatal Error를 내고 그자리에서 종료하지만
include() 같은 경우에는 Warning만 출력하고 나머지 코드를 모두 수행한다.
2. 같은 파일을 여러번 require()해도 딱 한번만 수행하는것에 비해서
include()는 같은 파일을 여러번 해도 모두 수행한다.
- return
함수에서 사용하는 제어구조로 함수를 통해 계산된 결과 값을 return을 통해 넘겨준다.
( return이 echo보다 먼저 실행되 함수가 종료되면서 return 값을 반환해주기 때문에
echo는 출력이 되지 않는걸 볼수 있다 )
'프로그래밍 > PHP' 카테고리의 다른 글
[PHP] 방명록 만들기 (0) | 2017.08.06 |
---|---|
[PHP] 함수 / 카운터 만들기 / 파일 핸들링 개념 (0) | 2017.08.06 |
[PHP] 외부 변수 사용법 / 일반 변수의 규칙 / 변수의 범위와 상수 (0) | 2017.07.29 |
[PHP] 기초문법 - 변수 / 객체에 대한 개념 (0) | 2017.07.29 |
[PHP] APM 설치 / 동작방식 / 기초문법 및 주석 (0) | 2017.07.28 |
댓글