>백엔드 개발 >PHP 튜토리얼 >예기치 않은 결과를 피하기 위해 PHP에서 삼항 연산자를 올바르게 중첩하려면 어떻게 해야 합니까?

예기치 않은 결과를 피하기 위해 PHP에서 삼항 연산자를 올바르게 중첩하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-16 08:24:15849검색

How Can I Correctly Nest Ternary Operators in PHP to Avoid Unexpected Results?

복잡한 조건문을 위해 PHP에서 삼항 연산자 중첩

PHP에서 여러 삼항 연산자를 쌓으면 특히 중첩된 조건문을 처리할 때 조건문을 단순화할 수 있습니다. 정황. 그러나 오해를 피하려면 메커니즘을 이해하는 것이 중요합니다.

다음 코드 조각을 고려하세요.

$Myprovince = (($province == 6) ? "city-1" : ($province == 7) ? "city-2" : ($province == 8) ? "city-3" : ($province == 30) ? "city-4" : "out of borders");

이 코드의 의도는 $Myprovince에 도시 이름을 할당하는 것입니다. $province의 값입니다. 그러나 다른 지방 값을 할당함에도 불구하고 일관되게 "city-4"를 반환합니다.

이 문제를 해결하려면 괄호가 필수적입니다.

$province = 7;
$Myprovince = (($province == 6) ? "city-1" : (($province == 7) ? "city-2" : (($province == 8) ? "city-3" : (($province == 30) ? "city-4" : "out of borders"))));

괄호는 조건이 다음에서 평가되도록 보장합니다. 순서를 정하여 후속 조건이 조기에 적용되는 것을 방지합니다. 각 삼항 연산자를 괄호로 묶어 코드는 중첩 조건을 올바르게 평가하는 데 우선순위를 둡니다.

위 내용은 예기치 않은 결과를 피하기 위해 PHP에서 삼항 연산자를 올바르게 중첩하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.