on
PHP 3 - 반복문 (WHILE, DO..WHILE, FOR)
PHP 3 - 반복문 (WHILE, DO..WHILE, FOR)
1. While문과 Do..While문
while (조건) { 실행문; }
- 조건이 참인 동안 실행문이 반복되어 실행된다.
- 반복을 벗어나기 위해서는 실행 문내에 조건을 변경하거나 break문이 필요하다.
- 조건에 변화가 없으면 무한 반복된다.
- 조건은 실행문이 반복될 때마다 반복해서 실행된다.
$a = 1; // 초기식 while ($a <= 10) { // 조건 echo(" {$a} "); // 명령문 $a++; // 증감식 }
While뿐 아니라 do..while문이나 for문에서도 반복문의 네 가지 요소(초기식, 조건, 증감식, 명령문)는 항상 동
일하다.
2. For문
for (초기식; 조건; 증감식) { 실행문; }
- 일반적으로 사용
- 조건이 참인 동안 실행문을 반복 실행한다.
- 초기식은 맨 처음 한 번만 실행된다.
- for문은 반복 횟수를 구체적으로 확인 가능함으로 반복문 중에 가장 가독성이 좋다.
잘못된 값 입력 시 사용하는 코드
if($num < 1 ) { echo(" window.alert('1보다 큰값을 입력하세요'); history.go(-1); "); exit; }
while, for문 실습
예제 3-1. 0 보다 큰 값을 입력받아 1에서 입력 값까지의 합을 출력한다.
3-1.html
3-1.html 입력 폼파일 1보다 큰 값을 입력하세요 :
while 문 3-1.php
1) { while($a <= $num) { // 조건, $a가 $num보다 커지면 반복을 종료한다. $sum = $sum + $a; echo("\$a: {$a}, \$sum: {$sum}"); $a++; // 증감식 } echo(""); echo("1에서 {$num}까지의 합은 {$sum}입니다."); } else echo("입력 값이 올바르지 않습니다."); echo(""); show_source(__FILE__); ?>
실행결과
예제 3-1 for문
3-1f.php
window.alert('1보다 큰값을 입력하세요'); history.go(-1); "); exit; } $sum = 0; for($a = 1; $a <= $num; $a++){ $sum = $sum + $a; echo("\$a: {$a}, \$sum: {$sum}"); } echo(""); echo("1에서 {$num}까지의 합은 {$sum}입니다."); echo(""); show_source(__FILE__); ?>
실행결과
실습 1. 0보다 큰 정수를 입력받아 입력받은 정수까지 홀수의 합과 짝수의 합을 각각 출력하는 프로그램을 작성한다.
* while문과 for문을 둘 다 사용해 작성 (두 번 출력하기)
3-ex01.html
3-ex01.html 입력 폼파일 0보다 큰 값을 입력하세요 :
3-ex01.php
window.alert('0보다 큰값을 입력하세요'); history.go(-1); "); exit; } $sum_odd = 0; $sum_even = 0; $i=1; while($i <= $num) { if($i % 2 == 0){ $sum_even += $i; } else { $sum_odd += $i; } echo("\$i: {$i}, \$sum_odd: {$sum_odd}, \$sum_even: {$sum_even}"); $i++; } echo(""); echo("while문"); echo("0에서 {$num}까지 홀수합: {$sum_odd}, 짝수합: {$sum_even}"); echo(""); $sum_odd = 0; $sum_even = 0; for($a = 1; $a <= $num; $a++){ if($a % 2 == 0){ $sum_even += $a; } else{ $sum_odd += $a; } echo("\$i: {$i}, \$sum_odd: {$sum_odd}, \$sum_even: {$sum_even}"); } echo(""); echo("for문"); echo("0에서 {$num}까지 홀수합: {$sum_odd}, 짝수합: {$sum_even}"); echo(""); show_source(__FILE__); ?>
실행결과 실행결과 show_source(__FILE__)
from http://lemonandgrapefruit.tistory.com/96 by ccl(A) rewrite - 2021-11-05 17:27:12