우선순위와 결합 순서
결합 순서 | 연산자 | 우선순위 |
---|---|---|
왼쪽 | , | 낮음 |
왼쪽 | or | |
왼쪽 | xor | |
왼쪽 | and | |
오른쪽 | ||
왼쪽 | = += -= *= /= .= %= &= |= ^= ~= <<= >>= | |
왼쪽 | ? : | |
왼쪽 | || | |
왼쪽 | && | |
왼쪽 | | | |
왼쪽 | ^ | |
왼쪽 | & | |
없음 | == != === !== | |
없음 | < <= > >= | |
왼쪽 | << >> | |
왼쪽 | + - . | |
왼쪽 | * / % | |
오른쪽 | ! ~ ++ -- (int) (double) (string) (array) (object) @ | |
오른쪽 | [ ] | |
없음 | new | |
없음 | ( ) | 높음 |
변수와 관련된 함수
변수의 데이터 형을 검사/설정
1 2 3 4 5 6 7 | string gettype (mixed var ); // 변수의 자료형 검사 bool settype(mixed var , string type); // 변수의 자료형 설정 $a = 56; echo gettype ( $a ). '<br />' ; // integer settype( $a , 'double' ); echo gettype ( $a ). '<br />' ; // double |
1 2 3 4 5 6 7 8 9 10 11 12 | // bool형 함수들(mixed var를 인자로 받는다) is_array () is_double (), is_float (), is_real () is_long (), is_int (), is_integer () is_string () is_bool () is_object () is_resource () is_null () is_scalar () // 정수형, 불리언형, 문자열, 실수형 is_numeric () // 숫자, 숫자인 문자열 is_callable () // 호출할 수 있는 함수의 이름인지 검사 |
변수 상태 검사
1 2 3 4 5 6 7 8 9 | boolean isset(mixed var [,mixed var , ...]); /* 이 변수가 존재한다면 true 여러 개를 인자로 줄 경우 모든 변수가 존재해야 true */ void unset(mixed var [, mixed var , ...]); // 변수 삭제 boolean empty (mixed var ); // 비어 있지 않고 0이 아닌 값일 경우 false |
변수형 변환
1 2 3 | int intval (mixed var [, int base]); // base에 var의 진법 입력력 float floatval (mixed var ); string strval (mixed var ); |
intval 함수는 base를 인자로 받을 수 있다. 예를 들어 16진수 문자열을 정수로 전환할 때 사용한다.
다른 자료형도 마찬가지로 사용할 수 있다.(doubleval 등)
조건문, 반복문
조건문, 반복문 또한 C언어와 같은 타 프로그래밍 언어와 매우 흡사하므로 아주 간략하게 넘어간다.
조건문 : if문, else문, elseif문(else if, elseif 동일), switch문
반복문 : while문, do while문, for문, foreach문
foreach 문
1 2 3 4 5 6 7 8 9 | // 숫자 인덱스 배열 foreach ( $array as $item ) { echo $item . " " ; } // 연관 배열 foreach ( $array as $key => $value ) { echo "$key : $value" . '<br />' ; } |
foreach 문은 배열을 쉽게 다루기 위해 사용하는 반복문으로 자세한 것은 3장 배열에서 공부한다.
exit
1 2 3 4 | if ( $result == 0) { echo 'exit!' ; exit ; } |
exit을 사용하면 php 스크립트를 끝낼 수 있다.
대체 제어 구조 문법 사용하기
{ 대신에 : 를 사용하고 } 대신에 새로운 키워드를 사용할 수 있다.
키워드 : endif, endswitch, endwhile, endfor, endforeach
do while 문은 대체 문법이 존재하지 않는다.
1 2 3 4 | if ( $result == 0) : echo 'exit' ; exit ; endif ; |
위 코드는 exit의 예제 코드와 완전히 동일하다.
declare
1 2 3 4 | declare (directive) { //block } |
실행 지침을 설정하기 위해 사용된다. 자주 쓰이지는 않는다. 자세한 것은 25장 대규모 프로젝트에서 PHP와 MySQL과 26장 디버깅에서 배운다.