기본문법 매뉴얼

번역하고 싶은 언어를 선택해 주세요.

반복문 loop 실무예제

홈페이지 제작시 메인화면에 최근게시글을 출력하거나, 추천상품을 진열하는 경우가 많습니다.
이럴 때 사용하는것이 반복문이며 반복문은 크게 php문법을 사용하여 출력하는 방법과 loop속성을 사용하는 방법이 있습니다.

솔루션에서는 게시판 및 모든 상품정보를 다음과 같이 배열 형태로 제공 되고 있으며,
이러한 배열을 어떻게 출력하는지 php문법과 loop문법을 비교하면서 설명 하도록 하겠습니다.

1. 솔루션에서 제공되는 데이타 배열

{@
$board_data_arr[0][subject] = '안녕하세요.';
$board_data_arr[0][write_name] = '홍길동';
$board_data_arr[0][write_date] = '2013-05-04 08:50:34';
$board_data_arr[1][subject] = '저도 반갑습니다.';
$board_data_arr[1][write_name] = '김말숙';
$board_data_arr[1][write_date] = '2013-05-04 10:35:22';
$board_data_arr[2][subject] = '같이 놀아요~';
$board_data_arr[2][write_name] = '박진숙';
$board_data_arr[2][write_date] = '2013-05-05 13:12:34';
@}

2. php를 통한 사용 예제

위와 같은 배열을 출력하기 위해서 foreach를 사용하여 출력 해보겠습니다.
<table border=1>
<tr>
	<td>제목</td>
	<td>작성자</td>
	<td>작성일</td>
</tr>
{@

foreach($board_data_arr as $key => $val){     // 위 $board_data_arr을 반복되도록 처리

	// 날짜형식을 13-05-04와 같은 형식으로 변경 한다.
	$val[write_date] = date('y-m-d',$val[write_date]);

	//  echo를 통해 데이타를 출력 한다.
	echo "	<tr>
				<td>$val[subject]</td>
				<td>$val[write_name]</td>
				<td>$val[write_date]</td>
			</tr>
			";
}
@}
</table>

3. loop를 통한 사용 예제

위 배열을 loop문법을 통해 출력 해보겠습니다.
<table border=1>
<tr>
	<td>제목</td>
	<td>작성자</td>
	<td>작성일</td>
</tr>
<tr loop="$board_data_arr as $key => $val">
	<td>{$values[subject]}</td>
	<td>{$values[write_name]}</td>
	<td>{$values[write_date]|date:y-m-d}</td>
</tr>
</table>

4. 결과 화면

위 php문법과 loop문법은 사용방법의 차이만 있을뿐 결과는 모두 같다는 것을 알 수 있습니다.
제목 작성자 작성일
안녕하세요. 홍길동 13-05-04
저도 반갑습니다. 김말숙 13-05-04
같이 놀아요~ 박진숙 13-05-05

5. php문법과 loop문법의 차이점

이렇게 사용방법만 틀린뿐 결과는 똑같은데 앞으로 php문법을 써야 할까? loop 문법을 써야 할까?
결론부터 말씀드리자면 loop문법을 사용할것을 권장하며, loop로 해결할 수 없는 부분은 php문법으로 해결하는 것이 좋습니다.

loop문법을 사용시 내부적으로 다시 php문법으로 전환하기때문에 사실상 php문법과 동일하다고 볼수 있습니다.