我有一个数组$beerArray
,它是从JSON API解析数据并将其放入PHP数组中获得的。有某些值,如$beer_name,我希望在JSON数据中,但并不总是在那里,导致该值不存在于数组中。我已经设置了一些……针对这些情况调整的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
是否有更好的方法来构建我的逻辑以避免这些通知?它使日志充满了误报,这是我想避免的。
使用isset()函数。只需传递您希望看到的变量是否已设置,如果该变量存在,此函数将返回true,如果不存在,则返回false。
例如,将if语句改为:
if (!isset($beerArray->response->beer->beer_name)) {
如果没有设置beer_name,则执行第一个块。如果它的名称是
,则执行第二个块文档如下:http://php.net/manual/en/function.isset.php