Menu
Coddy logo textTech

The Ternary Operator

Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 30번째.

조건에 따라 값을 할당하는 간단한 if-else를 사용할 때, PHP는 이를 더 짧게 작성할 수 있는 방법을 제공합니다: ternary operator.

이 구문은 ?:를 사용하여 간결한 한 줄 조건문을 생성합니다:

<?php
$age = 20;

// if-else 사용
if ($age >= 18) {
    $status = "adult";
} else {
    $status = "minor";
}

// 삼항 연산자를 사용한 동일한 기능
$status = $age >= 18 ? "adult" : "minor";

echo $status; // adult
?>

구조는: condition ? value_if_true : value_if_false입니다.

PHP는 먼저 조건을 평가합니다. 조건이 참이면, 표현식은 ? 다음의 값을 반환합니다. 거짓이면, : 다음의 값을 반환합니다.

<?php
$score = 45;
$result = $score >= 50 ? "Pass" : "Fail";
echo $result; // 실패

$isLoggedIn = true;
$greeting = $isLoggedIn ? "Welcome back!" : "Please log in";
echo $greeting; // 환영합니다!
?>

삼항 연산자는 간단한 조건부 할당에 적합합니다. 여러 조건이 포함된 복잡한 로직의 경우 가독성을 위해 if-elseif-else 문을 사용하는 것이 좋습니다.

challenge icon

챌린지

쉬움

입력에서 두 개의 정수를 읽으세요: scorepassingScore.

다음에 따라 결과를 결정하기 위해 삼항 연산자를 사용하세요:

  • scorepassingScore 이상이면, 결과는 Passed여야 합니다
  • 그렇지 않으면, 결과는 Failed여야 합니다

결과를 첫 번째 줄에 출력하세요.

그 다음, 입력에서 정수 quantity를 읽으세요. 배송 메시지를 결정하기 위해 삼항 연산자를 사용하세요:

  • quantity가 10보다 크면, 메시지는 Free shipping이어야 합니다
  • 그렇지 않으면, 메시지는 Standard shipping이어야 합니다

예시:

입력값이 75, 60, 15인 경우, 출력은 다음과 같아야 합니다:

Passed
Free shipping

입력값이 45, 50, 5인 경우, 출력은 다음과 같아야 합니다:

Failed
Standard shipping

치트 시트

삼항 연산자는 간단한 if-else 할당을 한 줄로 작성하는 컴팩트한 방법을 제공합니다.

구문은: condition ? value_if_true : value_if_false

<?php
$age = 20;

// Using if-else
if ($age >= 18) {
    $status = "adult";
} else {
    $status = "minor";
}

// Same thing with ternary operator
$status = $age >= 18 ? "adult" : "minor";

echo $status; // adult
?>

PHP는 먼저 조건을 평가합니다. 참이면 ? 다음의 값을 반환합니다. 거짓이면 : 다음의 값을 반환합니다.

<?php
$score = 45;
$result = $score >= 50 ? "Pass" : "Fail";
echo $result; // Fail

$isLoggedIn = true;
$greeting = $isLoggedIn ? "Welcome back!" : "Please log in";
echo $greeting; // Welcome back!
?>

간단한 either-or 할당에는 삼항 연산자를 사용하세요. 여러 조건이 있는 복잡한 로직에는 가독성을 위해 if-elseif-else 문을 사용하세요.

직접 해보기

<?php
// 입력 읽기
$score = intval(fgets(STDIN));
$passingScore = intval(fgets(STDIN));
$quantity = intval(fgets(STDIN));

// TODO: 아래에 코드를 작성하세요
// 삼항 연산자를 사용하여 점수가 합격인지 불합격인지 결정하세요


// 삼항 연산자를 사용하여 배송 메시지를 결정하세요


// 결과를 출력하세요
echo $result . "\n";
echo $shippingMessage;
?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨