2014-12-08 4 views
0

ifelse 문으로 내비게이션 목록을 생성하고 싶습니다. $vp 경우3 진 연산자에서 함수를 실행하는 방법

$v='p'; 
...... 
...... 
some codes go here 
...... 
$menu1 ='<li><a href="#">Market</a>'.$v==='p' ? set_submenu('market'):''.'</li>'; 
......... 
........ 

echo $menu1; 

라인이 무엇을, 다음은 다른 하위 메뉴를 가지고 시장의 하위 메뉴를 추가 : 아래는 내가하고자하는 것입니다. $ v가 'p'가 아닌 경우에는 메뉴 만 만들고 하위 메뉴는 만들지 않습니다. 그러나 이것은 일어나지 않고 출력되는 것도 없습니다. 그러나 세 줄로 나누면 :

$menu1 ='<li><a href="#">Market</a>'; 
$menu1 .= $v==='p' ? set_submenu('market'):''; 
$menu1 .= '</li>'; 

그런 다음 하위 메뉴가있는 메뉴가 표시됩니다. 그러나 더 깨끗한 코드의 경우 한 줄로 처리하고 싶습니다. 한 줄의 코드에서 이들을 어떻게 연결할 수 있습니까? 당신은 당신의 삼항와 올바른 구문을 사용하지 않은

$menu1 = '<li><a href="#">Market</a>' . ($v === 'p' ? set_submenu('market') : '') . '</li>'; 
+1

괄호를 사용하십시오. –

+0

어디에서 또는 어떤 코드 지점에서? –

+0

다음과 같이 생각해 봅시다. $ menu1 문자열을 세 단계로 나누어 작성했습니다. 하나의 커다란 성명서로 모든 것을하는 것보다 다르게 작동한다고 생각하는 이유는 무엇입니까? –

답변

1

이 시도해보십시오. 나는 아래에서 그것을 테스트했고 효과가 있었다.

$menu1 ='<li><a href="#">Market</a>'.($v == 'p') ? set_submenu('market'):''.'</li>'; 
-1

, 괄호가 당신의 상태 주위에 필요 :