2013-02-06 13 views
0

if else conditionnested ternary 연산자로 변환하고 싶습니다.PHP에서 중첩 된 삼항 연산자?

if ($projectURL) { 
    echo $projectURL; 
} elseif ($project['project_url']) { 
    echo $project['project_url']; 
} else { 
    echo $project['project_id']; 
} 

다음과 같이 작성했습니다.

echo ($projectURL)?$projectURL:($project['project_url'])?$project['project_url']: $project['project_id']; 

하지만 제대로 작동하지 않는 것으로 나타났습니다. 올바른 방법이 아닙니까?

+4

그렇게하지 마십시오 사용할 수 있습니다. 삼항 연산자는 읽을 수없는 엉망으로 변하기 쉽습니다. 중첩 된 것보다 훨씬. 이걸로 if/else와 붙어 있습니다. 따라서 코드를 훨씬 쉽게 관리 할 수 ​​있습니다. – Quentin

+0

질문이 마음에 들지 않는다면 .. –

+0

텍스트 상자 값 안에 중첩 된 삼항 연산자를 사용했습니다. "if else nested loop"를 유지하기가 어렵다고 느낍니다. – shihabudheen

답변

1

3 진 연산자는 좌 연관 (다른 모든 언어와 달리, 올바른 연관성이 있기 때문에) PHP에서는 까다로운 작업입니다. 당신은 당신이 원하는 것을 정확히이 경우 PHP에게 괄호를 사용해야합니다 :

echo ($projectURL ? $projectURL : ($project['project_url'] ? $project['project_url'] : $project['project_id']));