본문 바로가기
프로그래밍/PHP

[PHP] 연산자 / 제어구조 ( if, while, do.. while, continue, break, switch, include, require, return )

by B T Y 2017. 8. 1.
반응형

연산자 / 제어구조에 대해서 정리한다.
 
 
- 연산자
 
 
연산자 우선순위(아래일수록 우선순위가 높음)
,
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는 출력이 되지 않는걸 볼수 있다 )

반응형

댓글