我有一个数组$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
有没有更好的方法来构建我的逻辑以避免这些通知?它填补了我想避免的误报。
答案 0 :(得分:1)
使用isset()函数。只需传递您希望看到的变量是否已设置,如果变量存在,此函数将返回true,否则返回false。
例如,将if语句更改为:
if (!isset($beerArray->response->beer->beer_name)) {
如果没有设置beer_name,则执行第一个块。如果第二个块具有名称
,则执行第二个块