在custom_functions.php中从空值创建默认对象

时间:2013-11-17 06:13:56

标签: php arrays database wordpress themes

我不知道如何,但我的主题向我显示了这个错误:

警告:在第792行的/custom_functions.php中从空值创建默认对象

我在第792行的custom_functions.php中找到了代码

    $update_transient->response = array_merge(!empty($update_transient->response) ? $update_transient->response : array(), $et_update_themes->response);

我需要做什么,解决它?

1 个答案:

答案 0 :(得分:1)

首先解释一下这条线是如何工作的。问号是一个三元运算符,使语句的工作方式如下:

if(array_merge(!empty($update_transient->response)) {
    $update_transient->response = $update_transient->response;
} else {
    $update_transient->response = array(), $et_update_themes->response);
}

(箭头指的是从关联数组或对象实例中提取值)

无论哪种方式 if 语句流动,$update_transient->response都被设置为某种东西。 我打赌你的错误是因为$update_transient->response为空。由于升级到PHP版本,您可能第一次看到此错误。

您应该先尝试添加if语句,以检查该值是否为空。如果是,则将其设置为stdClass

if (!is_object($update_transient->response)) 
{
    $update_transient->response = new stdClass;
}

(stdClass是PHP的通用空类)