>백엔드 개발 >PHP 튜토리얼 >삼항 연산자와 문자열 연결이 비정상적인 동작을 생성하는 이유는 무엇입니까?

삼항 연산자와 문자열 연결이 비정상적인 동작을 생성하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-24 03:40:30355검색

Why Does the Ternary Operator and String Concatenation Produce Anomalous Behavior?

삼항 연산자 및 문자열 연결 비정상적인 동작

난제

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

<code class="php">$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';</code>

예상할 수도 있습니다. $paperType이 'bond'인 경우 이 코드는 'Paper: Bond' 문자열을 $description에 할당하고 그렇지 않으면 'Paper: Other'를 할당합니다. 그러나 관찰된 동작은 다릅니다.

편차 식별

실행 시 $description은 'Bond' 또는 'Other'를 수신하고 'Paper:' 머리말을 생략합니다. 이 예상치 못한 결과는 잘못된 괄호 배치에서 비롯됩니다.

이상 수정

코드를 수정하려면 문자열이 올바른 순서로 연결되도록 괄호를 추가해야 합니다.

<code class="php">$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');</code>

삼항 표현식을 괄호로 묶어 'Bond' 또는 'Other'의 연결 결과에 'Paper:'를 첨부하여 연결 작업이 먼저 수행되도록 합니다.

위 내용은 삼항 연산자와 문자열 연결이 비정상적인 동작을 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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