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 を使用しようとしましたが、まだ try でエラーが発生します。初心者の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 に答える