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 문을 사용하는 것이 좋습니다.
챌린지
쉬움입력에서 두 개의 정수를 읽으세요: score와 passingScore.
다음에 따라 결과를 결정하기 위해 삼항 연산자를 사용하세요:
score가passingScore이상이면, 결과는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;
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators