Php 致命错误:对非对象调用成员函数count()

Php 致命错误:对非对象调用成员函数count(),php,Php,我刚开始学习PHP,最近我的网站上通知我“在非对象上调用成员函数count()”。我一点也不知道如何修复,但我想学习 我想我知道出了什么问题,但我需要学习如何修复它,这样我的网站才能再次出现。有什么建议吗 <?php if(!$_productCollection->count()): ?> <p class="note-msg"><?php echo $this->__('There are no products matching the

我刚开始学习PHP,最近我的网站上通知我“在非对象上调用成员函数count()”。我一点也不知道如何修复,但我想学习

我想我知道出了什么问题,但我需要学习如何修复它,这样我的网站才能再次出现。有什么建议吗

<?php if(!$_productCollection->count()): ?>
<p class="note-msg"><?php echo $this->__('There are no products matching the         
selection.') ?></p>
<?php else: ?>
<div class="category-products">
<?php echo $this->getToolbarHtml() ?>
<?php // List mode ?>
<div class="sns-products-container clearfix">
<?php if($this->getMode()!='grid'): ?>
<?php $_iterator = 0; ?>
<ol class="products-list clearfix" id="products-list">
<?php foreach ($_productCollection as $_product): ?>
    <?php 

(这看起来像Magento代码-是吗?)

问题是这一行:

if(!$_productCollection->count()):
正在尝试调用类/对象
$\u productCollection
上的函数
count()
。但是,无论出于何种原因,在本例中未设置
$\u productCollection
,因此该函数不存在

因此,为了防止这个问题,您可以做一些简单的事情,如下所示:

if ( ! $_productCollection || ! $_productCollection->count()):
但是-请注意,Magento非常复杂,如果您遇到此错误,您可能会遇到完全不同的问题,这只是更大问题的症状。

(这看起来像Magento代码,是吗?)

问题是这一行:

if(!$_productCollection->count()):
正在尝试调用类/对象
$\u productCollection
上的函数
count()
。但是,无论出于何种原因,在本例中未设置
$\u productCollection
,因此该函数不存在

因此,为了防止这个问题,您可以做一些简单的事情,如下所示:

if ( ! $_productCollection || ! $_productCollection->count()):

但是-请注意,Magento非常复杂,如果您遇到此错误,您可能会遇到完全不同的问题,这只是更大问题的症状。

分析错误:

调用成员函数count()

查找
->count()
(您正在将
count
用作对象上的函数)

…在非对象上


您认为是对象的东西(
$\u productCollection
)实际上不是对象。因此,请在文件中查找更高的位置,找出应该在哪里创建
$\u productCollection
,以及为什么它实际上没有创建。

分析错误:

调用成员函数count()

查找
->count()
(您正在将
count
用作对象上的函数)

…在非对象上


您认为是对象的东西(
$\u productCollection
)实际上不是对象。因此,在文件中查找更高的位置,找出应该在哪里创建
$\u productCollection
,以及为什么它实际上没有创建。

是的,在Magento中,您不能在文件中查找更高的位置。这是一个“模板”,变量/对象设置在模板之外。好的,我应该检查文件夹并找出问题所在吗?是的,在Magento中,你不能在文件中查看更高的位置。这是一个“模板”,变量/对象设置在模板之外。好的,我应该检查文件夹并尝试找出问题所在吗?我正要用几乎相同的答案回答。Cale建议的此修复将使您克服此错误,但您可能会遇到更大的问题。尝试跟踪$\u productCollection的第一个定义位置。我是否应该将$\u productCollection替换为if(!$\u productCollection | |!$\u productCollection->count()):不,它不会导致更多错误,它只会显示其他错误。我正要用几乎相同的答案回答。Cale建议的此修复将使您克服此错误,但您可能会遇到更大的问题。尝试跟踪第一次定义$\u productCollection的位置。是否应将$\u productCollection替换为if(!$\u productCollection | |!$\u productCollection->count()):不,它不会导致更多错误,它只会显示其他错误。也许您应该告诉我们更多关于$\u productCollection类的信息,以便我们能够帮助您。我是否应该添加更多代码?也许您应该告诉我们更多关于$\u productCollection类的信息,以便我们能够帮助您。我是否应该添加更多代码?