2013-06-23 1 views
0

링크 된 API에서 사용자 정보를 json 객체로 가져옵니다. json_decode 메서드를 사용하여 json을 구문 분석합니다. 그것은 잘 작동합니다. 내 문제는 json에 필드가없는 경우입니다. 예를 들어 position 객체에는 endDate 속성이없는 경우가 있습니다.PHP가 json 객체에서 정의되지 않은 프라퍼티를 감지했습니다.

endDate 속성이없는 경우 정의되지 않은 오류가 발생합니다. 코드가 실패합니다. try catch를 사용하려고했지만 여전히 try에서 오류를 제공합니다. 메신저 초보자 PHP 코더. 해당 속성을 호출하기 전에 속성이 정의되지 않았 음을 어떻게 감지해야합니까?

+0

[? 참고 -이 오류가 PHP에서 무엇을 의미합니까]의 중복 가능성 (http://stackoverflow.com/questions/12769982/reference를 -what-does-this-error-mean-in-php) – deceze

답변

1

필드는 다음과 같은 방법이있는 경우 당신은 확인할 수

if (isset($user->positions->values[$i]->endDate)) 
{ 
    $endDate = $user->positions->values[$i]->endDate->year."-".$user->positions->values[$i]->endDate->month."-01"; 
} 
else 
{ 
    $endDate = null; // Or whatever you want it to be 
} 
관련 문제