2015-02-02 6 views
3

PHP에서 삼항 조건부를 사용하여 두 개의 문자열을 연결하는 방법이 있습니까?+ Ternary를 연결하십시오.

<?= 'something' . (true) ? 'else' : 'not'; ?> 

나는 내가 할 모든 else보다는 원하는 something else하다는 것을하려고 할 때.

답변

1

귀하의 코드가

<?= ('something' . (true)) ? 'else' : 'not'; ?> 

같다, 괄호와 우선 순위를 강제해야한다 설명 : Rizier123

+1

감사합니다. 실감하지 못했습니다. 가장 기술적으로 정확한 응답 인 것으로 보입니다. 다른 사람들이 걸려 넘어지고 다른 응답이 보이지 않을 경우를 대비하여 올바른 방법을 추가하는 것을 고려할 수도 있습니다. – cantera

+1

@cantera 삼항 연산자의 왼쪽 연관 때문이 아닙니다. Concatenation 연산자의 우선 순위가 더 높기 때문입니다. – Rizier123

+1

@cantera 연산자의 연관 부분은 연산자와 동일한 우선 순위가있는 경우에만 관련이 있습니다! – Rizier123

3

예, 당신은 비록 괄호에 원을 배치해야합니다. 이 시도 : 운영자 .?:

그래서 삼항 연산자의 높은 우선 순위를 가지고 table of Operator Precedence에 따라 때문에

<?php echo 'something '.((true) ? 'else' : 'not'); ?> 
관련 문제