【问题标题】:PHP Notice: Trying to get property of non-object in /wp-includes/query.php on line 4654PHP 通知:尝试在第 4654 行的 /wp-includes/query.php 中获取非对象的属性
【发布时间】:2016-11-27 11:42:02
【问题描述】:

我的错误日志充满了这个: PHP 通知:尝试在第 4654 行的 /home/.../wp-includes/query.php 中获取非对象的属性

第 4654 行如下: return in_array( $post_obj->post_type, (array) $post_types );

我该如何诊断究竟是什么原因造成的?我假设其他地方的一些代码正在访问 query.php 并导致此错误,但我没有看到除上述提示之外的任何提示。

请不要只说“忽略它,这没什么”,我会尽我所能保持我的网站没有错误,所以我真的很想找出这是什么并修复它。

提前致谢

【问题讨论】:

标签: php wordpress error-log


【解决方案1】:

从数组和对象访问值是有区别的。

要访问对象中的值,您可以这样做:

$object->valueKey

这将返回该对象中该键的值。

要访问数组中的值,您需要这样做:

$array['arrayKey']

这将返回数组中该键的值。

您不能互换使用这些方法。 此错误意味着您的变量不是对象。 这意味着它要么是 null,要么是数组,要么是其他数据类型。

尝试执行var_dump($variable) ;,它会告诉您变量中的实际内容并告诉您它是对象还是数组或其他任何情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多