오늘: 3|어제: 24|전체: 234,203|회원: 118 (+0)|문서: 56,040 (+0)|댓글: 8,019 (+0)|첨부파일: 1,389 (+0)


PHP
2013.11.01 10:48

PHP 강좌 4편 - 제어문

조회 수 3197 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
Extra Form
PHP의 제어문은 C/C++,JAVA,Javascript와 매우 유사하다.
아마 C언어를 하신분이라면 PHP 제어문은 금방 배울 수 있을 것이다.
다만 if문의 elseif가 좀 차이일뿐이다. (C/C++같은 언어에선 else if로 사용)

조건문

1. if문

if (condition){
}

<?php

$a=30;
$b=40;
if($a==$b){
}

?>
위의 결과에서 $a와 $b의 값은 출력되니 if문은 실행되지 않을것이다.

2. if~else문

if (condition){
}else{
}

if문의 조건이 false가 나오면 else안에 있는 코드가 무조건 실행된다.

<?php

$a=30;
$b=40;
if($a==$b){
??? echo("같다.");
}else{
??? echo("안같다.");
}

?>

여기서는 $a와 $b의 값이 같으니 "안같다."가 출력될것이다.

3. if~elseif~else문

if (condition){
}else if (condition){
}else{
}

참고로 C/C++,JAVA에선 else if로 사용하지만 PHP에선 elseif로 사용되는걸 주의해야한다.
elseif는 또 다른 조건을 걸 수 있고 elseif문의 갯수는 제한이 없다.

<?php

$a=30;
$b=40;
if($a==$b){
??? echo("같다.");
}else if($a<$b){
??? echo("a보다 b가 더 크다.");
}else if($a>$b){
??? echo("a보다 b가 더 작다.");
}else{
??? echo("안같다.");
}

?>

a보다 b값이 더 크니 "a보다 b가 더 크다."가 출력될것이다.

switch문

switch문도 if같은 일종의 조건문이다.

switch(n){
case label1:
??? break;
case label2:
??? break;
case default:
??? break;
}

n의 값이 label1과 같다면 label1문이 출력되고, n의 값이 label2와 같다면 label2문이 출력되고, 아무값에도 속하지 않으면
맨 마지막의 default문이 출력된다.
참고로 label 맨 마지막엔 break 예약어를 두어야한다.
break를 보면 곧바로 switch문을 빠져나갈것이다.
안그러면 밑의 label에 있는 코드도 출력될 것이다.

<?php

$a=3;

switch($a){
case 1:
??? echo("a의 값은 1");
??? break;
case 2:
??? echo("a의 값은 2");
??? break;
case 3:
??? echo("a의 값은 3");
??? break;
default:
??? echo("a의 값은 1,2,3에도 속하지 않는 값이다.");
??? break;
}

?>

여기선 $a의 값이 3이니 case 3: 안에 있는 코드가 실행될 것이고 break를 통해 빠져나올것이다.
즉 "a의 값은 3"이 출력된다.

while문

while문은 반복문의 일종이다.
두가지 방법이 있다.

while (condition){
}

do{
}while(condition);

차이점은 후자 (do-while)문은 조건에 상관없이 무조건 한번은 실행된다.
condition값이 false가 되면 while문을 빠져나오고, false가? 안되면 계속 무한루프가 될 수도 있으니 주의해야 한다.

<?php
$a=0;

while($a<10){
??? echo($a." ");
??? $a+=1;
}

?>

0 1 2 3 4 5 6 7 8 9? 이 출력될것이다.
$a가 10이 되면 while문을 빠져나오므로 출력이 되지 않는다.
참고로 while문안에 증감식이 없으면 무한루프에 빠질 수 있으니 주의해야한다.

<?php
$a=0;

do{
??? echo($a." ");
??? $a++;
}while($a<10);

?>

위와 결과가 같다.

for문

for문도 while같은 반복문의 일종이다.

for(초기값;condition;증감식){
}

while문을 쉽게 쓸 수 있는것이 불과하다.
역시 condition이 false가 되면 for문을 탈출할것이다.
for(;;)식으로 주면 무한루프가 된다.

<?php
$a=0;

for($a=0;$a<10;$a++){
??? echo($a." ");
}

?>

결과는 0 1 2 3 4 5 6 7 8 9 를 출력한다.

foreach문

foreach($array as $value){
}

배열의 갯수만큼 반복하여 출력한다.
$value에는 $array 배열하나 하나값이 대입될것이다.

<?php
$arr=array("hello","world","!","haha");

foreach($arr as $v){
??? echo($v." ");
}

?>

hello world ! haha 라고 출력될것이다.

List of Articles
글쓴이 분류 제목 조회 수
루아틱 Linux Ubuntu apt-get 명령어 사용법 15122
루아틱 Linux 웹소스 euc-kr 에서 utf-8 일괄변환(find, iconv 이용) 14813
루아틱 Windows Windows 2003에서 IIS 6.0 설치(SSL 설정 2) 13482
가온누리 Etc 후딱빌더(그누보드) cheditor5에서 사진 첨부 했을때 오류 수정 file 13452
루아틱 Apache Apache의 rewrite Module 11774
Luatic™ XpressEngine XE 엮인글 삭제 쿼리문 file 10125
루아틱 Etc 윈도우 사용자 dns 캐시 초기화 명령 1 6630
CharmingIrene PHP PHP 강좌 2편 - 변수(variable) 4991
Luatic™ Windows 티밍이란? 4 4885
루아틱 XpressEngine XE 인증메일을 Gmail로 보내는 법 2 4115
Omega3 Etc 웹페이지 가속 기술인 모드 페이지스피드(mod_pagespeed)를 이용한 순수한 속도 향상 3705
YJSoft XpressEngine 외부 페이지 사용시 백지현상 3685
루아틱 Etc 알면 도움되는 무제한 트래픽의 불편한 진실! 8 3628
루아틱 Etc 안드로이드용 cPanel 접속/관리 앱 2 3608
cholalo Windows 파이어폭스 캐쉬 초기화하는 방법 file 3572
YJSoft Etc 스팸 차단 화이트리스트 등록법 2 file 3542
YJSoft Etc 하위 도메인에 티스토리/네이버 블로그 연결 file 3425
Omega3 PHP 꺼두면 좋은 PHP Fuction 2 3274
CharmingIrene PHP PHP 강좌 4편 - 제어문 3197
루아틱 PHP 간단한 페이징 7 3083
Board Pagination ‹ Prev 1 2 3 4 5 6 Next ›
/ 6

처음