2013-05-02 11 views
0

我有一個數組,$beerArray,它是從解析JSON API中的數據並將其放入PHP數組中獲得的。有一些值,比如$ beer_name,我期望在JSON數據中,但並不總是存在,導致該值在數組中不存在。我已經設置了一些if ... else語句到這些情況調整:查找生成的數組中是否存在未獲取通知的值

if (!($beerArray->response->beer->beer_name)) { 
    do something 
    } 

else { 
    do something else 
    } 
} 

這可以防止類似錯誤試圖分配給不存在的數組值的變量,但我仍然得到這個討厭注意:

Notice: Undefined property: stdClass::$beer_name in /Users/x_/Documents/html/php/populatebeer.php on line 66 

有沒有更好的方法來構建我的邏輯來避免這些通知?它填滿了我想避免的誤報。

回答

1

使用isset()函數。只需傳遞想要查看的變量是否設置,如果變量存在,此函數將返回true;如果變量不存在,則返回false。

例如改變你的if語句:如果沒有beer_name集

if (!isset($beerArray->response->beer->beer_name)) { 

第一個塊執行。如果它有一個名稱,則執行第二個塊

以下是文檔:http://php.net/manual/en/function.isset.php

相關問題