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

有没有更好的方法来构建我的逻辑以避免这些通知?它用我想避免的误报填充日志。

4

1 回答 1

1

使用 isset() 函数。只需传递您希望查看的变量是否设置,如果变量存在,此函数将返回 true,否则返回 false。

例如,将您的 if 语句更改为:

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

如果没有设置 beer_name,则执行第一个块。如果有名称,则执行第二个块

这是文档: http: //php.net/manual/en/function.isset.php

于 2013-05-02T16:56:13.477 回答