2013-06-23 59 views
0

我從鏈接的api獲取一些用戶信息作爲json對象。我使用json_decode方法解析json。它工作得很好。我的問題是當json中不存在字段時。例如,位置對象有時不會有endDate屬性。php檢測json對象中的undefined propery

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

當endDate屬性不存在時,它給了我未定義的propery錯誤。並且代碼失敗。我試圖使用try catch,但它仍然在嘗試中給出錯誤。即時通訊新手PHP編碼器。在對該屬性進行調用之前,應該如何檢測屬性未定義?

+0

[?參考 - 這是什麼錯誤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 
}