안녕하세요. 오늘은 PHP 반복문에대해서 알아보겠습니다.
반복문은 크게 4가지가 있습니다. (if문, switch문, while문, for문)
하나하나씩 보겠습니다.
1. if문
처음은 if문 입니다. if의 뜻이 '만약'이라는 뜻이죠.
문자 그대로 '만약 ~~ 한다면 ~~해라' 라는 문장이 됩니다.
그럼 문법을 보겠습니다
if ( 조건1 ) {
문장1;}
else if ( 조건2 ) {
문장2; }
else 문장3;
조건이 참일시 문장을 실행하는 것입니다.
예를 들면 조건1이 참이면 문장1을, 조건2가 참이면 문장2를 둘다 아니다 하면 문장3이 실행됩니다.
else if는 부가 적인 조건을 제시 하는 것이므로 제작하는 분 마음대로 추가 하시면 됩니다.
if (조건1) {
if (조건2) {
(문장1;} }
그리고 위에 있는것은 중첩 if문 입니다. 이 문장은 조건1의 문장에서 조건1이라는 조건을 제거 하고
안으로 들어가서 조건2를 비교해서 실행해주는 문장 입니다. 2중으로 걸러냈다고 할 수 있겠네요.
2. switch문
switch문의 기본 문법부터 보시겠습니다.
switch (변수) {
case "변수이름" : 실행할 문장1;
break;
case "변수이름2 : 실행할 문장2
break;
case "변수이름 3 : 실행할 문장3
break;
default : 실행할 문장4
기본 형태 인데 switch문은 변수가 입력을 받을때 비로소 빛을 보는 형태 입니다.
변수를 입력 받으면 각 case에 맞게 실행이 되는게 특징이죠.
switch문을 응용하면 어떤 if문 으로 구성된것들은 switch문으로 바꿔서 쓸수도 있습니다.
default는 case에 없는 조건이 입력되었을때 실행하는 문장입니다.
3. while문
while문 이라고 간략히 말했지만 while문 과 do while문 2가지가 있습니다.
3-1 while문
while ( 조건 ) {
문장1;
문장2;
문장3;
}
while문의 기본형태 인데요. while의 안에서 문장이 조건에 만족하지 않을때 까지 계속 실행되는 것이 특징입니다.
만약 a가 10번 출력되기를 바란다면
$i = 0;
wihle ($i < 10) {
echo "a를 출력 <br>";
$i++;
}
이렇듯 조건에서 'i가 10보다 작아야 한다' 라고 했습니다.
이럴때 i는 0부터 시작이라 9까지 하면 카운트는 10번하겠죠.
그리고 i가 10이 되면 같이 때문에 조건에 만족하지 않으므로 wihle문은 실행을 멈추게 됩니다.
3-2. do while문
while문과 문법이 다를뿐 크게 차이점은 없습니다.
do {
문장1;
문장2;
문장3;
} while ( 조건 );
do가 앞으로 오고 while이 뒤로 간것일 뿐입니다. 그리고
주의하셔야 될점은 while뒤에 ; 를 붙이셔야 합니다.!
4. for문
PHP에서 for문은 C언어와 비슷합니다. 위에 여러 조건도 다 비슷했지요.
하지만 특이하게도 foreach문이라는 반복문도 있습니다. 하지만 우선은 for문부터 정리해보겠습니다.
for ($i=0; $i < 10; $i++) {
문장1;
문장2;
}
많이 어렵지 않습니다. ㅎ C언어를 하신 분이라면 충분히 아실겁니다.
문제는 foreach문입니다. 들어가기 앞서 foreach문이 잘 사용되는 배열부분을 설명하겠습니다.
배열
PHP에서 배열선언은 변수 선언과 다를것없이 쉽습니다.
$score = array(80, 99, 100, 77);
$subject = array ("과학"=>80, "영어"=>99, "수학"=>100, "체육"=>77);
2가지 선언을 했는데요. 위에 배열은 1차원 배열입니다.
1차원 배열은 score라고 쓴 박스를 한줄로 쭉 놓은 것을 상상해보세요.
2차원 배열은 score 박스를 놓은 것에 박스 안을 몇등분을 해놓은걸로 상상하시면 쉬우실겁니다.
그리고 특이한 점이 $subject["음악"] = 85; 따로 선언을 해주시면
subject배열안에 "음악"=>85 가 들어 갑니다.
4-2. foreach문
그럼 foreach문을 한번 해보겠습니다.
foreach ( $score as $value) {
echo "$value <br>";
}
foreach문 안에 문법은 ( 배열이름 as 값을 부를 이름) 입니다. $value가 아니라 $a 라고해도 되죠.
다음은 2차원 배열입니다.!
foreach ($subject as $sub => $score) {
문장1;
}
2차원 배열과 1차원 배열의 차이가 보이시나요?
배열이름 뒤쪽에 무엇인가 하나가 추가되었죠.
2차원 배열에서 과목의 이름을 key값이라 하고 점수를 value라 하죠.
(배열이름 as 키이름 => 값이름) 배열에서 선언때 처럼 나열해주시면 됩니다.
이상으로 PHP에서 반복문을 알아 보았습니다. 읽어주셔서 감사합니다.