Stack/PHP

[PHP] 제어문

7ingout 2022. 5. 25. 11:36

* 슈퍼글로벌 (PHP의 미리 정의된 전역변수)

1. $GLOBALS

2. $_ SERVER

3. $_GET

4. $_POST

5. $_FILES

6. $_COOKIE

7. $_SESSION

8. $_REQUEST

9. $_EVN

 

 

 

1. 조건문

if문 elseif문 else문

지정한 조건의 결과값에 따라 코드를 다르게 실행

if(조건) {

                조건이 true일 때 실행

} elseif(조건2) {   // else if(x) elseif(o)

                조건2가 true일 때 실행

} esle {

                조건1, 조건2가 false일 때 실행

}

switch문

switch(값){

                case 조건1:

                        조건1이 해당될 떄 실행;

                        break;

                case 조건2:

                        조건2이 해당될 떄 실행;

                        break;

                case 조건3:

                        조건3이 해당될 떄 실행;

                        break;

                default:

                        위 조건이 모두 해당 안될 떄 실행;

}

 

 

 

2. 반복문

프로그램 내에서 같은 명령을 일정 반복횟수만큼 반복하여 수행하는 명령문

1) while문

특정 조건을 만족할 때까지 주어진 명령문을 반복해서 실행

while(조건) {

            반복할 코드;

}

 

2) do/while문

조건의 결과와 관계없이 무조건 한번은 코드 실행

do {

            반복할 코드;

} while(조건)

 

3) for문

초기값, 표현식, 증감식을 모두 포함하고 있는 반복문

for(초기식; 표현식; 증감식){

            반복할 코드;

}

for($i=0; $i<10; $i++){

            echo $i;

}

 

4) foreach문

foreach(배열 as 값을 저장할 변수) {

            실행할 명령문;

}

 


 

ex06_condition.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        // $n = 10;
        // _GET은 URL 값을 받아쓰는 방법 ( ?number=10 )
        $n = $_GET['number'];   // []는 배열의 키로 접근
        if($n % 3 == 0) {
            echo "{$n}은 3의 배수이다.<br/>";
        } elseif ($n % 5 == 0) {
            echo "{$n}은 5의 배수이다.<br/>";
        } else {
            echo "{$n}은 3과 5의 배수가 아니다.<br/>";
        }
        $username = $_GET['name'];
        echo "{$username}님 안녕하세요.<br/>";

        $score = 50;
        switch($score) {
            case 100:
                echo "점수는 100점입니다.";
                break;   // break 없으면 break 만나기 전까지 걍 진행
            case 90:
                echo "점수는 90점입니다.";
                break;
            case 80:
                echo "점수는 80점입니다.";
                break;    
            default:
                echo "점수는 70점입니다.";
        }
    ?>
</body>
</html>

 

 

 

ex07_loop.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        $i = 1;
        while($i < 10) {
            echo $i."<br/>";
            $i++;
        }
        while(false) {
            echo $i."<br/>";
            $i++;
        }
        $j = 0;
        do {
            echo $j."<br/>";
            $j++;
        } while($j < 10);
        do {
            echo $j."<br/>";
            $j++;
        } while(false);
        

        //foreach
        $arr = array(1, 2, 3, 4, 5);
        foreach($arr as $value) {
            echo "{$value}입니다<br/>";
        }
        $arr2 = array("key1"=>"수박", "key2"=>"딸기", "key3"=>"복숭아");
        foreach($arr2 as $key => $value){
            echo "배열에서 key는 {$key}이고 value는 {$value}입니다.<br/>";
        }
    ?>
</body>
</html>

 

 

 

ex07_구구단.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        for($i = 2; $i < 10; $i++) {
            echo "{$i}단입니다.<br/>";
            for($j = 1; $j < 10; $j++) {
                echo "{$i} * {$j} = ".($i*$j)."<br/>"; 
            }
        }
        
        $n = $_GET['number'];
        echo "{$n}단입니다.<br/>";
        for($k = 1; $k < 10; $k++) {
            echo "{$n} * {$k} = ".($n*$k)."<br/>"; 
        }
    ?>
</body>
</html>