
PHP ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 3์ฃผ์ฐจ - 02 ์กฐ๊ฑด ์ฐ์ฐ์ (์ผํญ ์ฐ์ฐ์ ?:): ๊ฐ๊ฒฐํ๊ฒ ์กฐ๊ฑด ์ฒ๋ฆฌํ๊ธฐ
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-06-27 02:09:32 | |
์กฐํ์ | 17 |
๐ PHP ์ด๊ธ - 3์ฃผ์ฐจ - 02 ์กฐ๊ฑด ์ฐ์ฐ์ (์ผํญ ์ฐ์ฐ์ ?:): ๊ฐ๊ฒฐํ๊ฒ ์กฐ๊ฑด ์ฒ๋ฆฌํ๊ธฐ
PHP์์ #์กฐ๊ฑด๋ฌธ (if-else
)์ ํน์ ์กฐ๊ฑด์ #์ฐธ_๊ฑฐ์ง ์ฌ๋ถ์ ๋ฐ๋ผ ์ฝ๋์ ์คํ ํ๋ฆ์ ์ ์ดํ๋ ์ค์ํ ๊ตฌ๋ฌธ์
๋๋ค. ํ์ง๋ง ๊ฐ๋จํ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๊ฐ ์ค ํ๋๋ฅผ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ, ๋ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ๋ฐ๋ก **#์กฐ๊ฑด_์ฐ์ฐ์ (Conditional Operator)** ๋๋ **#์ผํญ_์ฐ์ฐ์ (Ternary Operator)**์
๋๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ PHP์ #์ผํญ_์ฐ์ฐ์ ?:
์ ์ฌ์ฉ๋ฒ๊ณผ ์ฅ๋จ์ ์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
1. #์ผํญ_์ฐ์ฐ์ ๋?
#์ผํญ_์ฐ์ฐ์ ๋ ์ธ ๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ํ๊ฐํ๊ณ , ์กฐ๊ฑด์ด #์ฐธ ์ด๋ฉด ์ฒซ ๋ฒ์งธ ํํ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ณ , ์กฐ๊ฑด์ด #๊ฑฐ์ง ์ด๋ฉด ๋ ๋ฒ์งธ ํํ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ #์ฐ์ฐ์ ์
๋๋ค. if-else
๊ตฌ๋ฌธ์ ๊ฐ๊ฒฐํ ์ถ์ฝํ์ด๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ํํ:
์กฐ๊ฑด ? ์ฐธ์ผ ๋์ ํํ์ : ๊ฑฐ์ง์ผ ๋์ ํํ์;
2. #์ผํญ_์ฐ์ฐ์ ์ฌ์ฉ ์์
๋ค์์ #์ผํญ_์ฐ์ฐ์ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ๋ ์์์ ๋๋ค.
์์ 1: ์ฑ์ธ ์ฌ๋ถ ํ์ธ
$age = 20;
$status = ($age >= 18) ? "์ฑ์ธ" : "๋ฏธ์ฑ๋
์";
echo "๋์ด: " . $age . "์ธ, ์ํ: " . $status; // ์ถ๋ ฅ: ๋์ด: 20์ธ, ์ํ: ์ฑ์ธ
์ ์ฝ๋์์ $age >= 18
์ด๋ผ๋ ์กฐ๊ฑด์ด ํ๊ฐ๋ฉ๋๋ค. ์กฐ๊ฑด์ด #์ฐธ (true
)์ด๋ฏ๋ก ?
๋ค์ "์ฑ์ธ"
์ด $status
#๋ณ์ ์ #ํ ๋น ๋ฉ๋๋ค. ๋ง์ฝ $age
๊ฐ 17์ด์๋ค๋ฉด ์กฐ๊ฑด์ #๊ฑฐ์ง (false
)์ด ๋๊ณ , :
๋ค์ "๋ฏธ์ฑ๋
์"
๊ฐ $status
์ #ํ ๋น ๋ ๊ฒ์
๋๋ค.
์์ 2: ์ ์์ ๋ฐ๋ฅธ ํฉ๊ฒฉ/๋ถํฉ๊ฒฉ ํ์
$score = 75;
$result = ($score >= 60) ? "ํฉ๊ฒฉ" : "๋ถํฉ๊ฒฉ";
echo "์ ์: " . $score . "์ , ๊ฒฐ๊ณผ: " . $result; // ์ถ๋ ฅ: ์ ์: 75์ , ๊ฒฐ๊ณผ: ํฉ๊ฒฉ
3. #์ผํญ_์ฐ์ฐ์ ์ ์ฅ์ ๊ณผ ๋จ์
์ฅ์ :
#๊ฐ๊ฒฐํ_์ฝ๋:
if-else
๊ตฌ๋ฌธ์ ๋นํด ์ฝ๋๋ฅผ ํจ์ฌ ๋ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. ํนํ ๊ฐ๋จํ ์กฐ๊ฑด ๋ถ๊ธฐ์ ์ ์ฉํฉ๋๋ค.#๊ฐ๋ ์ฑ_ํฅ์ (๊ฒฝ์ฐ์ ๋ฐ๋ผ): ๊ฐ๋จํ ์กฐ๊ฑด์์๋ ์ฝ๋๋ฅผ ํ๋์ ํ์ ํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
#ํํ์_๋ด์์_์ฌ์ฉ_๊ฐ๋ฅ: #์ผํญ_์ฐ์ฐ์ ๋ ๊ฐ์ ๋ฐํํ๋ฏ๋ก, ๋ค๋ฅธ #ํํ์ ๋ด์์ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์:
echo "๊ฒฐ๊ณผ: " . (($score >= 60) ? "Pass" : "Fail");
๋จ์ :
#๊ฐ๋ ์ฑ_์ ํ (๋ณต์กํ ์กฐ๊ฑด): ์กฐ๊ฑด์ด ๋ณต์กํด์ง๊ฑฐ๋ ์ค์ฒฉ๋ ๊ฒฝ์ฐ, #์ผํญ_์ฐ์ฐ์ ๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๋ฉด ์ฝ๋์ ๊ฐ๋ ์ฑ์ด ์คํ๋ ค ๋จ์ด์ง ์ ์์ต๋๋ค.
#๋๋ฒ๊น _์ด๋ ค์: ๋ณต์กํ๊ฒ ์ค์ฒฉ๋ #์ผํญ_์ฐ์ฐ์ ๋ ๋๋ฒ๊น ์ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๊ฐ ์กฐ๊ฑด๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ถ์ ํ๊ธฐ๊ฐ ์ฝ์ง ์์ต๋๋ค.
#์ ํ์ ์ธ_๊ธฐ๋ฅ:
if-elseif-else
์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ๊ฑฐ๋, ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฌ๋ฌ ์ค์ ์ฝ๋๋ฅผ ์คํํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ #์ผํญ_์ฐ์ฐ์ ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด๋ ต์ต๋๋ค.
4. #์ผํญ_์ฐ์ฐ์ ์ค์ฒฉ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
#์ผํญ_์ฐ์ฐ์ ๋ ์ค์ฒฉํ์ฌ ์ฌ์ฉํ ์๋ ์์ง๋ง, ์ฝ๋์ ๊ฐ๋ ์ฑ์ ์ฌ๊ฐํ๊ฒ ์ ํ์ํค๋ฏ๋ก ๊ฐ๋ฅํ ํ ํผํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์์ (๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ ์ค์ฒฉ ์ฌ์ฉ):
$level = 2;
$message = ($level === 1) ? "์ด๊ธ" : (($level === 2) ? "์ค๊ธ" : (($level === 3) ? "๊ณ ๊ธ" : "์ ์ ์์"));
echo "๋ ๋ฒจ: " . $level . ", ๋ฉ์์ง: " . $message; // ์ถ๋ ฅ: ๋ ๋ฒจ: 2, ๋ฉ์์ง: ์ค๊ธ
์ ์์์ฒ๋ผ #์ผํญ_์ฐ์ฐ์ ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ค์ฒฉํ๋ฉด ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ๋งค์ฐ ์ด๋ ค์์ง๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ if-elseif-else
๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ๋ ๋ช
ํํ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ฝ์ต๋๋ค.
5. PHP 7์ #๋_๋ณํฉ_์ฐ์ฐ์ (??
)
PHP 7๋ถํฐ๋ #๋_๋ณํฉ_์ฐ์ฐ์ (??
)๊ฐ ๋์
๋์ด, #๋ณ์ ๊ฐ ์ค์ ๋์ด ์๋์ง ๋๋ #NULL ์ธ์ง๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ฒ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ #์ผํญ_์ฐ์ฐ์ ์ ์ถ์ฝํ์ผ๋ก ๋ณผ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ํํ:
$result = $variable ?? "๊ธฐ๋ณธ๊ฐ";
์ ์ฝ๋๋ $variable
์ด ์ค์ ๋์ด ์๊ณ #NULL ์ด ์๋๋ฉด $variable
์ ๊ฐ์ $result
์ #ํ ๋น ํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด "๊ธฐ๋ณธ๊ฐ"
์ #ํ ๋น ํฉ๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ #์ผํญ_์ฐ์ฐ์ ํํ๊ณผ ๋์ผํฉ๋๋ค.
$result = isset($variable) ? $variable : "๊ธฐ๋ณธ๊ฐ";
#๋_๋ณํฉ_์ฐ์ฐ์ ๋ ํนํ #๋ฐฐ์ด ์ด๋ #๊ฐ์ฒด ์ ์์ฑ์ ์ ๊ทผํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
์์:
$user = ["name" => "Alice"];
$userName = $user["name"] ?? "Guest"; // $user["name"]์ด ์์ผ๋ฉด ๊ทธ ๊ฐ, ์์ผ๋ฉด "Guest"
$userAge = $user["age"] ?? 0; // $user["age"]์ด ์์ผ๋ฉด ๊ทธ ๊ฐ, ์์ผ๋ฉด 0
echo "์ฌ์ฉ์ ์ด๋ฆ: " . $userName . "<br>"; // ์ถ๋ ฅ: ์ฌ์ฉ์ ์ด๋ฆ: Alice
echo "์ฌ์ฉ์ ๋์ด: " . $userAge; // ์ถ๋ ฅ: ์ฌ์ฉ์ ๋์ด: 0
๊ฒฐ๋ก
#์ผํญ_์ฐ์ฐ์ ๋ ๊ฐ๋จํ ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฐ์ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ ์ฉํ #์ฐ์ฐ์ ์
๋๋ค. ํ์ง๋ง ๋ณต์กํ ์กฐ๊ฑด์ด๋ ์ค์ฒฉ๋ ์ฌ์ฉ์ ์ฝ๋์ ๊ฐ๋
์ฑ์ ์ ํ์ํค๋ฏ๋ก ์ ์ ํ ์ํฉ์ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. PHP 7์ ๋์
๋ #๋_๋ณํฉ_์ฐ์ฐ์ (??
)๋ #๋ณ์ ์ ์กด์ฌ ์ฌ๋ถ๋ #NULL ์ฌ๋ถ๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ์ฒ๋ฆฌํ๋ ๋ฐ ๋งค์ฐ ์ ์ฉํ๋ฏ๋ก ํจ๊ป ์์๋์๋ฉด ์ข์ต๋๋ค. ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ #์กฐ๊ฑด๋ฌธ ๋๋ #์กฐ๊ฑด_์ฐ์ฐ์ ๋ฅผ ์ ํํ์ฌ ํจ์จ์ ์ด๊ณ ๊ฐ๋
์ฑ ๋์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.