๋ฃจ์  ์†Œํ”„ํŠธ ๋กœ๊ณ 

216.73.216.80 TODAY : 147

PHP ๊ฐ•์˜

 > 

PHP - ์ดˆ๊ธ‰

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 4์ฃผ์ฐจ - 02 switch ๋ฌธ

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 4์ฃผ์ฐจ - 02 switch ๋ฌธ
ํ‰์  10.0 ๋ผ์ด์„ผ์Šค free
์‚ฌ์šฉ์žํ‰์  10.0 ์šด์˜์ฒด์ œ
๋‹ค์šด๋กœ๋“œ 1 ํŒŒ์ผํฌ๊ธฐ 0
์ œ์ž‘์‚ฌ LUZENSOFT ๋“ฑ๋ก์ผ 2025-06-28 08:20:05
์กฐํšŒ์ˆ˜ 17
- ์„ค๋ช…

๐Ÿ“š PHP ์ดˆ๊ธ‰ - 4์ฃผ์ฐจ - 02 switch ๋ฌธ


์•ˆ๋…•ํ•˜์„ธ์š”! PHP ์ดˆ๊ธ‰ ๊ฐ•์ขŒ 4์ฃผ์ฐจ ๋‘ ๋ฒˆ์งธ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ง€๋‚œ ์‹œ๊ฐ„์—๋Š” ๋‹ค์–‘ํ•œ #์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋Š”๋ฐ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์กฐ๊ฑด๋ฌธ ์ค‘ ํ•˜๋‚˜์ธ #switch ๋ฌธ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


1. switch ๋ฌธ์ด๋ž€?


#switch ๋ฌธ์€ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋‚˜ ํ‘œํ˜„์‹์˜ ๊ฐ’์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ์ฝ”๋“œ ๋ธ”๋ก ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” #์กฐ๊ฑด๋ฌธ์ž…๋‹ˆ๋‹ค. #if-else if-else ๋ฌธ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ํŠน์ • ๊ฐ’์ด ๋ช…ํ™•ํ•˜๊ฒŒ ์ •ํ•ด์ ธ ์žˆ์„ ๋•Œ ๋”์šฑ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ€๋…์„ฑ ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


uploadImage


2. switch ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ


uploadImage


#switch ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

PHP

<?php
switch (๋ณ€์ˆ˜ ๋˜๋Š” ํ‘œํ˜„์‹) {
    case ๊ฐ’1:
        // ๋ณ€์ˆ˜ ๋˜๋Š” ํ‘œํ˜„์‹์ด ๊ฐ’1์ผ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ
        break;
    case ๊ฐ’2:
        // ๋ณ€์ˆ˜ ๋˜๋Š” ํ‘œํ˜„์‹์ด ๊ฐ’2์ผ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ
        break;
    case ๊ฐ’3:
        // ๋ณ€์ˆ˜ ๋˜๋Š” ํ‘œํ˜„์‹์ด ๊ฐ’3์ผ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ
        break;
    default:
        // ์œ„์˜ ์–ด๋–ค case์—๋„ ํ•ด๋‹นํ•˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ
        break;
}
?>

  • switch (๋ณ€์ˆ˜ ๋˜๋Š” ํ‘œํ˜„์‹): ๋น„๊ตํ•  ๋ณ€์ˆ˜๋‚˜ ํ‘œํ˜„์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

  • case ๊ฐ’: switch ๊ด„ํ˜ธ ์•ˆ์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น case ๋ธ”๋ก ๋‚ด์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • break: ํ•ด๋‹น case ๋ธ”๋ก์˜ ์‹คํ–‰์„ ์ค‘๋‹จํ•˜๊ณ  switch ๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. #break ๋ฌธ์ด ์—†์œผ๋ฉด ์ผ์น˜ํ•˜๋Š” case ์ดํ›„์˜ ๋ชจ๋“  case๊ฐ€ ์—ฐ๋‹ฌ์•„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. (์ด๋ฅผ fall-through๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.)

  • default: ์–ด๋–ค case์—๋„ ์ผ์น˜ํ•˜๋Š” ๊ฐ’์ด ์—†์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ์„ ํƒ์  ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. #else ๋ฌธ๊ณผ ์œ ์‚ฌํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.


3. switch ๋ฌธ ์˜ˆ์ œ



์˜ˆ์ œ 1: ์š”์ผ์— ๋”ฐ๋ฅธ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ


PHP

<?php
$day = "์›”์š”์ผ";

switch ($day) {
    case "์›”์š”์ผ":
        echo "ํ•œ ์ฃผ์˜ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค! ํž˜๋‚ด์„ธ์š”.";
        break;
    case "์ˆ˜์š”์ผ":
        echo "์ˆ˜์š”์ผ์€ ์ˆ˜์ˆ˜ํ•˜๊ฒŒ! ๋ฒŒ์จ ์ฃผ์ค‘์ด๋„ค์š”.";
        break;
    case "๊ธˆ์š”์ผ":
        echo "๋ถˆ๊ธˆ! ์ฃผ๋ง์ด ๊ธฐ๋‹ค๋ ค์ง‘๋‹ˆ๋‹ค.";
        break;
    default:
        echo "์˜ค๋Š˜์€ ํ‰๋ฒ”ํ•œ ํ•˜๋ฃจ์ž…๋‹ˆ๋‹ค.";
        break;
}
?>

์œ„ ์ฝ”๋“œ์—์„œ๋Š” $day ๋ณ€์ˆ˜์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ $day๊ฐ€ "ํ™”์š”์ผ"์ด๋ผ๋ฉด default ๋ธ”๋ก์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.


์˜ˆ์ œ 2: ์ ์ˆ˜์— ๋”ฐ๋ฅธ ํ•™์  ๋ถ€์—ฌ


PHP

<?php
$score = 85;
$grade = '';

switch (true) { // true๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์‹์„ ํ™œ์šฉ
    case ($score >= 90):
        $grade = "Aํ•™์ ";
        break;
    case ($score >= 80):
        $grade = "Bํ•™์ ";
        break;
    case ($score >= 70):
        $grade = "Cํ•™์ ";
        break;
    case ($score >= 60):
        $grade = "Dํ•™์ ";
        break;
    default:
        $grade = "Fํ•™์ ";
        break;
}

echo "์ ์ˆ˜: " . $score . "์ , ํ•™์ : " . $grade;
?>

์ด ์˜ˆ์ œ์—์„œ๋Š” switch (true)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ case์— ์กฐ๊ฑด์‹์„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํŠน์ • ๋ฒ”์œ„์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


3. switch ๋ฌธ ์˜ˆ์ œ

uploadImage

์˜ˆ์ œ 1: ์š”์ผ์— ๋”ฐ๋ฅธ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ


PHP

<?php
$day = "์›”์š”์ผ";

switch ($day) {
    case "์›”์š”์ผ":
        echo "ํ•œ ์ฃผ์˜ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค! ํž˜๋‚ด์„ธ์š”.";
        break;
    case "์ˆ˜์š”์ผ":
        echo "์ˆ˜์š”์ผ์€ ์ˆ˜์ˆ˜ํ•˜๊ฒŒ! ๋ฒŒ์จ ์ฃผ์ค‘์ด๋„ค์š”.";
        break;
    case "๊ธˆ์š”์ผ":
        echo "๋ถˆ๊ธˆ! ์ฃผ๋ง์ด ๊ธฐ๋‹ค๋ ค์ง‘๋‹ˆ๋‹ค.";
        break;
    default:
        echo "์˜ค๋Š˜์€ ํ‰๋ฒ”ํ•œ ํ•˜๋ฃจ์ž…๋‹ˆ๋‹ค.";
        break;
}
?>

์œ„ ์ฝ”๋“œ์—์„œ๋Š” $day ๋ณ€์ˆ˜์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ $day๊ฐ€ "ํ™”์š”์ผ"์ด๋ผ๋ฉด default ๋ธ”๋ก์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.


์˜ˆ์ œ 2: ์ ์ˆ˜์— ๋”ฐ๋ฅธ ํ•™์  ๋ถ€์—ฌ


PHP

<?php
$score = 85;
$grade = '';

switch (true) { // true๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์‹์„ ํ™œ์šฉ
    case ($score >= 90):
        $grade = "Aํ•™์ ";
        break;
    case ($score >= 80):
        $grade = "Bํ•™์ ";
        break;
    case ($score >= 70):
        $grade = "Cํ•™์ ";
        break;
    case ($score >= 60):
        $grade = "Dํ•™์ ";
        break;
    default:
        $grade = "Fํ•™์ ";
        break;
}

echo "์ ์ˆ˜: " . $score . "์ , ํ•™์ : " . $grade;
?>

์ด ์˜ˆ์ œ์—์„œ๋Š” switch (true)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ case์— ์กฐ๊ฑด์‹์„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํŠน์ • ๋ฒ”์œ„์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


4. switch ๋ฌธ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์ 

uploadImage

  • break ๋ฌธ์˜ ์ค‘์š”์„ฑ: #break ๋ฌธ์„ ์ƒ๋žตํ•˜๋ฉด ์˜๋„์น˜ ์•Š๊ฒŒ ์—ฌ๋Ÿฌ #case ๋ธ”๋ก์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ #fall-through๋ผ๊ณ  ํ•˜๋ฉฐ, ํŠน์ • ์ƒํ™ฉ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๋ช…์‹œ์ ์œผ๋กœ #break๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ๋™๋“ฑ ์—ฐ์‚ฐ์ž (==) ์‚ฌ์šฉ: #switch ๋ฌธ์€ #๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ #๋А์Šจํ•œ ๋™๋“ฑ ์—ฐ์‚ฐ์ž(==)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋‹ฌ๋ผ๋„ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ์ผ์น˜ํ•œ๋‹ค๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์—„๊ฒฉํ•œ ๋น„๊ต(===)๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด #if ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ณต์žกํ•œ ์กฐ๊ฑด์€ if ๋ฌธ์œผ๋กœ: #switch ๋ฌธ์€ ๋‹จ์ผ ๊ฐ’์— ๋Œ€ํ•œ ๋น„๊ต์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์กฐ๊ฑด์ด ๋ณตํ•ฉ์ ์œผ๋กœ ์–ฝํ˜€ ์žˆ๊ฑฐ๋‚˜, ๋ฒ”์œ„ ๋น„๊ต ๋“ฑ ๋ณต์žกํ•œ ๋…ผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” #if-else if-else ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋…์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ๋” ์ข‹์Šต๋‹ˆ๋‹ค.


์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” #PHP์˜ #switch ๋ฌธ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํŠน์ • ๊ฐ’์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ #switch ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋”์šฑ ๊ฐ„๊ฒฐํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์‹œ๊ฐ„์—๋Š” ๋ฐ˜๋ณต๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.