📖 Coding Study/웹 프로그래밍

2023.03.28 화 (PHP 반복문, breakㆍcontinue 키워드, 배열)

공부못함 2023. 3. 28. 21:49

웹프로그래밍 4주차 2차시 강의내용

 

지난 시간 보충 (match 사용법)

<?php
	$a = match ($a) {
    	1 => $b + 2,
    	2 => $b * 2,
        default => $b % 2
    };
?>

콤마를 이용하여 케이스를 구별하며, 계산식이 끝날 때 세미콜론을 사용해준다.

 

 


PHP에서 반복문(Loop Statement)의 종류는 네 가지이다.

1. while

2. do~while

3. for

4. foreach

 

※ while문과 for문은 서로 완전히 대체가 가능하다.

 

1. while 사용법

while (조건문) {
명령문;
}

 - 보통 반복 조건이 횟수가 아니라 특수한 조건이거나 몇 번 반복할지 모를 때 주로 사용한다.

 

 

2. do~while 사용법

do {
명령문;
} while (조건문);

 - 최소한 한 번 이상 명령문을 반복한다.

 

3. for 사용법

for ( 변수 초기화; 조건식; 변경부 ) {
  명령문;
}

 - 반복횟수가 정해져 있을 때 주로 사용한다. (횟수 중심)

 

4. foreach 사용법

foreach ($배열 as $값) {
    명령문;
}

 - 배열과 함께 쓰는 반복문이다.

 

 


breakㆍcontinue 키워드

break는 반복문을 빠져나오는 키워드이고, 

continue는 반복문의 처음 부분으로 되돌아가는 키워드이다.

 


배열

선언하는 방법

1. $x = array(1, 4, 2, 5, 3);

2. $x = [1, 4, 2, 5, 3];   여기에서 대괄호를 배열 연산자라고 한다.

 

사용하는 방법

$x[인덱스 번호] = 13;

 

 

 


예제 코드 (여러가지 반복문을 이용하여 주사위를 던지고 나온 수의 합을 구하기)

<?php 
    echo "<h1>주사위 10번 던지고 나온 수의 합</h1>";
    $sum = 0; // 초기화 필요, 누적되는 변수이기 때문
    $n = 1;   // 반복 제어변수의 초기화

    while($n <= 10) {       // 조건식, 반복을 종료하는 조건을 적어 줌, 반복문 속에 사용하는 키워드 : break, continue
        $sum += mt_rand(1,6);  // 
        $n++;   // 반복 제어변수 변경, 다음 번 반복을 위한 준비.
    }
    echo "<h3>총합 =  $sum</h3>";




    echo "<h1>주사위 10번 던지고 나온 수의 합</h1>";
    $sum = 0;
    $n = 1;

    while($n <= 10) {        
        $num = mt_rand(1,6);
        if(($num != 3 && $num != 4) $sum += $num;) // 주사위 던지고 3,4는 제외 . 카운트가 누적 된다. $n++ 무조건 while문이 10번 돈다.
        $n++;
    }
    echo "<h3>총합 =  $sum</h3>";




    echo "<h1>주사위 10번 던지고 나온 수의 합</h1>";
    $sum = 0;
    $n = 1;

    while($n <= 10) {        
        $num = mt_rand(1,6);
        if($num == 3 || $num == 4) continue;  // 주사위 던지고 3,4는 제외, continue하면 다시 while문으로 올라감. 카운트가 누적되지 않는다.($n++)   while문이 10번 이상 돈다.
        $sum += $num;
        // 누적 값이 30을 초과하면 반복 종료
        if($sum > 30) break;
        $n++;
    }
    echo "<h3>총합 =  $sum</h3>";


    echo "<h1>주사위 10번 던지고 나온 수의 합</h1>";
    $sum = 0;
    for($n = 1; $n <= 10; $n++) {
        $num = mt_rand(1,6);
        if($num == 3 || $num == 4) continue;  // 주사위 던지고 3,4는 제외, continue하면 다시 while문으로 올라감. 카운트가 누적되지 않는다.($n++)   while문이 10번 이상 돈다.
        $sum += $num;
        // 누적 값이 30을 초과하면 반복 종료
        if($sum > 30) break;
    }
    echo "<h3>총합 =  $sum</h3>";
    echo "<h3>던진 횟수 = $n</h3>";
    echo "<hr>";

    # foreach구문 연습
    $point = array(5500, 11200, 3400, 800);  // 배열 선언
    // var_dump($point);    변수를 확인해보는 것임 무슨변수인지
    
    // for문으로 모든 포인트값의 합을 구하기
    $total = 0;
    for($i = 0; $i < 4; $i++)
        $total += $point[$i];
    echo "point의 총합은 $total";

    // foreach
    foreach($point as $p)
        $total += $p;
    echo "foreach사용 $total";
?>
LIST

'📖 Coding Study > 웹 프로그래밍' 카테고리의 다른 글

2023.05.01 월 (DB)  (0) 2023.05.01
2023.04.04 화 (PHP 다차원 배열)  (0) 2023.04.04
2023.04.03 월 (PHP 배열)  (0) 2023.04.03
2023.03.27 월 (PHP 조건문)  (0) 2023.03.27
2023.03.14 화 (PHP 실습)  (0) 2023.03.14