2013-06-23 2 views
0

Я получаю некоторую информацию пользователя из связанных api как объекты json. Я разбираю json, используя метод json_decode. Он работает отлично. Моя проблема в том, что в json не существует поля. Например, объект позиции иногда не имеет свойства endDate.php обнаружение неопределенного свойства в объектах json

$endDate = $user->positions->values[$i]->endDate->year."-".$user->positions->values[$i]->endDate->month."-01"; 

Когда свойство endDate не существует, оно дает мне неопределенную ошибку. и код не работает. Я попытался использовать try catch, но он все еще дает ошибку в попытке. im новичок php coder. Как определить, что свойство не определено до вызова этого свойства?

+0

возможно дубликат [? Reference - Что эта ошибка означает в PHP] (http://stackoverflow.com/questions/12769982/reference -что-делает-это-ошибка среднеквадратического в-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 
} 
Смежные вопросы