我从链接的api获取一些用户信息作为json对象。我使用json_decode方法解析json。它工作得很好。我的问题是当json中不存在字段时。例如,位置对象有时不具有endDate属性。
$endDate = $user->positions->values[$i]->endDate->year."-".$user->positions->values[$i]->endDate->month."-01";
当endDate属性不存在时,它会给出未定义的属性错误。和代码失败。我尝试使用try catch但它仍然在try中给出了错误。我是一个新手php编码器。在调用该属性之前,如何检测属性是否未定义?
答案 0 :(得分: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
}