0

我从链接的 api 中获取一些用户信息作为 json 对象。我使用 json_decode 方法解析 json。它工作得很好。我的问题是json中不存在字段时。例如位置对象有时不会有 endDate 属性。

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

当 endDate 属性不存在时,它会给我未定义的属性错误。并且代码失败。我尝试使用 try catch 但它仍然在尝试中给出错误。我是新手 php 编码器。在调用该属性之前,我应该如何检测该属性未定义?

4

1 回答 1

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
}
于 2013-06-23T18:10:34.750 回答