if() 함수
조건에 따라서 분기하는 if() 함수는 다음의 형식을 갖는다. 다음 형식에서 else{} 부분은 생략할 수 있다.

조건식의 결과는 TRUE 또는 FALSE가 오는데 주로 비교 연산자인 ==, <>, <, >, <=, >= 등이 사용된다.


여러 개의 조건이 필요하다면 if ~ elseif를 사용할 수 있다.


switch() 함수
if~elseif와 비슷하게 switch~case로 여러 개의 조건을 처리할 수 있다. default 부분은 생략할 수 있다.


for() 함수
for문은 지정된 수만큼 반복하기 위해서 사용되는 함수다. for의 형식은 다음과 같다.



2행에서 $i가 1부터 $i가 10까지 1씩 증가한다. 즉, $i는 1,2,3...10까지 증가하고 3행에서 반복해서 출력된 것이다. for을 그림으로 보면 [그림 12-25]와 같다.

[그림 12-25] for문의 기본 형식
[그림 12-25]에서 for문의 형식을 보면 괄호 안에 초깃값, 조건식, 증감식이 세미콜론(;)으로 구분되어 있다. 그리고 중괄호({})안에 반복할 문장들이 나온다. 반복할 문장이 하나뿐이라면 중괄호를 생략해도 된다.
여기서 반복되는 순서를 기억하자. 1,2를 수행하고 3,4,2가 계속 반복할 문장을 수행한다.
for문의 활용으로 123부터 456까지의 홀수만 합계를 구해보자. 즉 123+125+127+...+455까지 2씩 증가하면서 합계를 구하면 된다.


while() 함수
while() 함수는 for() 함수와 용도가 크게 다르지 않다, while에서는 for와 다르게 초깃값과 증감식이 없으며 조건식만 있다. 먼저 형식을 살펴보자.

while을 그림으로 표현하면 [그림 12-27]과 같다.

[그림 12-27] while문의 실행 순서
그렇다면 초깃값과 증감식은 어디에 있어야 할까? 다음 형식은 while문의 필수는 아니지만, 초깃값과 증감식의 위치를 어디에 두어야 할지를 확인할 수 있다.

for로 작성한 [소스 12-10]과 동일한 결과를 내도록 while로 작성해 보자.

결과는 [소스 12-10]과 동일하게 나왔을 것이다. 4행에는 for에서 사용한 초깃값을 미리 설정했다. 그리고 7행에서는 증감식을 위치시켰다. 5행의 while에서는 조건식만 존재한다.
배열
앞에서 변수의 개념을 '그릇'으로 비유해왔다. 하지만 배열을 설명하기 위해서는 그릇보다는 '(종이)박스'가 좀더 이해하기 쉬울 것 같다. 배열은 [그림 12-30]과 같이 하나씩 사용하던 종이박스(변수)를 한 줄로 붙여놓은 것이다.

[그림 12-28] 배열의 개념
지금까지는 박스(변수)의 이름을 각각 a, $b, $c, $d 이런 식으로 지정해서 사용해왔지만, 배열은 박스(변수)를 한 줄로 붙인 후에 박스 전체의 이름(aa)을 지정하여 사용한다. 그리고 각각 $aa[0], $aa[2], $aa[3]과 같이 번호(첨자라고 한다)를 붙여서 사용하게 될 것이다. 주의할 점은 4개짜리 배열을 만들었다면 첨자는 0,1,2,3 네 개를 사용하며 4는 첨자로 사용되지 않는다.
먼저 배열을 만드는 형식을 살펴보자. PHP에서 배열을 만드는 방법은 3가지가 있다.

형식2에서 증가값을 생략할 수 있으며, 형식3에서는 $배열명이 정의되어 있지 않아도 바로 배열이 생성됐다. 배열을 생성하는 간단한 예제를 살펴보자.



결과는 55로 잘 나올 것이다. 이 예처럼 배열의 첨자를 myArray)로 써주는 것이 더 바람직하다.
배열에 대해서 활용하기 위한 PHP에서는 다양한 함수가 제공되는데, 몇 가지를 예제를 통해서 살펴보자.



2행에서 1부터 10까지 들어 있는 $myArray를 생성했다. 5행의 shuffle()은 배열의 내용을 임의로 섞어 준다.
6행의 foreach(배열명 as 변수)는 배열의 값을 차례대로 하나씩 변수에 넣어서 반복한다. 7행에서 echo로 값을 하나씩 출력했다. 10행의 sort()는 배열의 값을 오름차순으로 정렬하고, 15행의 rsort()는 내림차순으로 정렬한다.
20행은 좀 주의할 필요가 있는데, array_reverse()는 배열의 순서를 역순으로 바꾼다. 하지만, 다른 함수처럼 배열 자체를 바꾸지는 않고, 새로운 배열을 반환한다.
여기서 사용하거나 실제 프로그래밍에서 자주 사용되는 함수를 몇 개 소개하겠다.

[표 12-2] PHP 주요 내장 함수
예제를 통해서 살펴보자.



PHP에서는 MySQL과 관련된 내장 함수를 제공한다. 여기서 주요하게 사용될 관련 함수를 몇개 살펴보고 넘어가자.

[표 12-3] PHP 주요 MySQL 관련 함수