2017-01-14 1 views
1

if-else 로그인을 사용하여 입력 필드 값을 표시하려고하고 있는데 한 줄로 ternary 연산자를 사용하지만 항상 오류를 반환하고 싶습니다. 그러나 if-else을 사용하면 잘 작동합니다. 내 코드는 다음과 같습니다중첩 된 삼항 연산자 내에서 isset() 문제

작업 파인

if(isset($_COOKIE['m_name'])){ 
    echo $_COOKIE['m_name']; 
}else if(isset($this->userdata)){ 
    echo $this->userdata[0]->first_name; 
}else{ 
    echo 'No Data'; 
} 

에게 반환 공지 사항을 항상

echo isset($_COOKIE['m_name'])? $_COOKIE['m_name']: isset($this->userdata)?$this->userdata[0]->first_name:'No Value'; 

오류 :

주의 : 홈/비 - 개체의 속성을 얻으려고 노력/... 행에 ...

내가 놓친 거지 모르겠어요?

도움을 주시면 대단히 감사하겠습니다.

+0

내가 여러 결합 삼항 연산자를하지 않고하는 방법을 선호해야한다고 생각합니다. – Alex2php

+0

감사합니다. @ Alex2php! 하지만 이것을 정리해야합니다. –

+0

감사합니다. @ Alex2php! 문제가 해결되었습니다. 이제 당신의 접근 방식을 따를 것입니다. –

답변

3

는 잘 모르겠지만, 나는 그것이 더 나은 읽을 수 있어요로

echo (isset($_COOKIE['m_name'])? $_COOKIE['m_name']: (isset($this->userdata)?$this->userdata[0]->first_name:'No Value')); 
+0

감사합니다 @Dmnik! :) 그 잘 작동합니다 .. 그리고 당신은 내게 내가 빠진 기초를 가르쳐. 그것을 지키십시오. 가장 좋은 시작. 해피 코딩 :) –

+0

젠장, 너무 좋아! 좋은! ;-) –