오늘: 17|어제: 15|전체: 234,263|회원: 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
글쓴이 분류 제목 조회 수
Luatic™ Etc PHP 및 각 언어 소스 많은곳 1 2136
Luatic™ XpressEngine 로그인풀림방지 - 주소 고정하기 file 2123
루아틱 PHP 인덱스가 비어있을때.. 즉 public_html 하위에 빌더 또는 보드 설치시.. 1 2080
Omega3 Linux centos에서 mysql 5.5로 업그레이드 4 2009
YJSoft Etc 편집기 사용시 팁 1989
Omega3 Apache Apache 에서 최대 접속자 수 늘리기 1903
Luatic™ Apache cPanel MIME Types에 추가할 수 있는 것들 1852
Luatic™ Apache .htaccess로 파일 업로드 방지하기 file 1798
고객지원 XpressEngine 유튜브와 같은 영상 쉽게 올리기. file 1782
Luatic™ WordPress 워드프레스 속도, 성능 최적화하기 file 1780
Luatic™ Linux CentOS Yum 사용법 1 1748
Luatic™ MySQL MySQL에서 디비엔진을 선택할때의 선택 방법 1707
Luatic™ PHP PHP 언어 기반의 다양한 CMS 및 블로그 설명 1639
Luatic™ WordPress 워드프레스 3.9.1 기준 멀티사이트 옵션 켜기 file 1632
Luatic™ Nginx NGINX wordpress rewrite 1601
Luatic™ Etc 구글 검색엔진 최적화 매뉴얼 1601
Luatic™ KimsQ RB 루아틱에서 KimsQ 설치 관련 팁 file 1598
Luatic™ Linux vi 에디터 단축 모음 1 1591
1sam PHP PHP 필수 강좌 - 정규식 Regular Expressions 1486
Luatic™ WordPress 워드프레스 브라우저 캐시 설정 file 1463
Board Pagination ‹ Prev 1 2 3 4 5 6 Next ›
/ 6

처음