4장 - PHP의 표현식과 흐름 제어-
표현식 반환값(숫자, 문자열 , 불값 )과 변수, 연산자, 함수 의 조합 y= 3( abs(2x) + 4 ) 숫자(7..), 문자열(“hello”), 할당된 값을 가진 변수 자 체는 표현식의 가장 간단한 형식임 값을 반환할 수 있으면 표현식이라고 할 수 있음
불(boolen)값 TRUE or FALSE ( 1 or NULL) PHP에서 미리 정의된 상수 소문자도 사용 가능 대문자는 재정의가 가능하며 소문자는 재정의 제한
문자형식과 변수 값을 반환하는 다섯 가지 형태의 문자 형식 a: 73 b: Hello c: d: Brian e: 37
표현식과 문장 표현식과 함께 대입식이나 흐름제어 구조를 합치 면 결과는 문장이 됨
연산자 - $a ++ 과 같이 피연산자가 하나인 단항 연산자 - 사칙연산과 같이 다수의 PHP연산자를 갖는 이항 연산자 설명 예 산술 기본 수학 $a + $b 배열 배열 공용체 대입 대입 값 $a = $b + 23 비트 바이트 내에 비트 조작 12^9 비교 두 값을 비교 $a<$b 실행 역 작은따옴표 안의 내용 실행 `ls –al` 증가/감소 1증가/감소 $a++ 논리 불 $a and $b 문자열 연결 $a.$b - $a ++ 과 같이 피연산자가 하나인 단항 연산자 - 사칙연산과 같이 다수의 PHP연산자를 갖는 이항 연산자 - A ? X : Y 의 형태를 취하는 하나의 삼항 연산자
연산자 우선순위 연산자의 우선순위에 따라 값을 처리 우선순위가 같다면 순서대로 처리 연산자의 결합성: 연산자의 처리 방향 우선 순위를 외우기 보다는 괄호를 이용하여 순서 를 명확히 하는 것이 중요
관계형 연산자- 등가 연산자 두 피연산자를 검사해 참이나 거짓 중 하나로 불 형 태의 결과를 반환 등가연산자, 비교연산자, 논리연산자 등가연산자 : == 모두 숫자로 된 문자열은 숫자와 비교될 때 숫자형 식으로 변환 항등연산자 : === 자동 형식 변환 제한 부등과 비항등 연산자 : != , !==
비교 연산자
논리 연산자 AND 두 피연산자가 모두 참이면 참 OR 둘 중 적어도 하나가 참이면 참 XOR 둘 중 하나가 참이면 참, 같으면 거짓 NOT 거짓이면 참, 참이면 거짓
조건문 – if 문 If ( 조건문) { 조건이 참일 때 실행 } { 조건이 참일 때 실행 } 조건의 내용은 등가식, 비교문, 0,NULL 등 PHP 표현 식 및 함수반환값
조건문 –if.. else문 조건문이 참이면 if문 안이 실행되고, 거짓이면 else 문 안이 실행 둘 중 하나는 반드시 실행
조건문- if..elseif..else If..else 문이 중첩된 구조 여러 다양한 조건에 따라 프로그램의 흐름을 변경 할 때 사용
조건문 – switch문 If ..elseif..else문과 같이 조건에 따라 다른 명령을 수행
조건문- ?연산자 사용 조건 ? A : B -> 조건이 참일 때 A, 거짓일때 B
반복문 – while문
반복문- do..while문
반복문 – for문 for ($i=1 , $j=1 ; $i+$j <10 ; $i++, $j++) { … } for문은 명백하게 규칙적으로 변하는 값을 필요로 할 때 while문은 조건문이 간단하고 규칙적인 변수에 기인하지 않을 때, 특별한 입력이나 오류를 체크하고 오류가 발생했을 때 반복문을 빠져나와야 할 때,
for문 빠져나오기 for(….) { for(…….) { ..break 2; }
Continue문 반복문 안에서 현재 루프를 중단하고 바로 다음 루 프로 가라고 알림. 전체 루프를 빠져나가는 것이 아 니라 현재의 루프만 지나감
암묵적 형변환과 명백한 형변환 PHP는 단지 사용함으로써 변수와 그 타입을 정의할 수 있도록 허용 값도 자동으로 형변환되는데 이를 암묵적 형변환 형변환 형식 설명 (int) (integer) 정수형 (bool) (boolean) 불형 (float) (double) (real) 실수형 (string) 문자열 (array) 배열 (object) 객체 $c = (int) ( $a / $b) ;
PHP의 동적 링킹과 동작 PHP로 하나의 웹사이트를 구축 -> 소스코드가 관리 할 수 없을 정도로 커지고, 관리 및 디버킹 어려움 웹 사이트 개발을 여러 부분으로 나누는 것이 합리 적임 - 이메일 주소의 인증 및 사용자 이름 중복 확인 모듈 - 메인 페이지로 가기전에 사용자 로그인 모듈 - 메시지 모듈, 이미지 업로드 모듈 등 쿠키나 세션 변수로 웹사이트의 사용자를 추적할 수 있다면 웹 사이트를 합리적이며 각자 독립돼 있 는 PHP 코드 섹션으로 나눌 수 있음 -> 새로운 기능 개발과 기존 코드의 유지 보수를 쉽게 해줌