Php Message:count():参数必须是数组或实现可计数的对象

Php Message:count():参数必须是数组或实现可计数的对象,php,countable,Php,Countable,请告诉我怎么了 public function view($link = null) { $temp = $this->BlogModel->getDetail('link', $link); if (count($temp) == 1) { "this countable" $data = array( 'app' => $this->app(), 'data'

请告诉我怎么了

public function view($link = null) {
    $temp = $this->BlogModel->getDetail('link', $link);
    
    if (count($temp) == 1) { "this countable"
        $data = array(
            'app' => $this->app(),
            'data' => $temp,
            'comments' => $this->BlogCommentModel->getAll(['blog_id' => $temp->id], 'id asc'),
            'data_latest' => $this->BlogModel->getLatest(6)
        );
        $this->BlogModel->updateVisitCount($link);
        $this->template->set('title', $data['data']->title . ' | ' . $data['app']->app_name, TRUE);
        $this->template->load_view($data['app']->template_frontend.'/detail', $data, TRUE);
        $this->template->render();
    } else {
        redirect(base_url('blog/'));
    };
}
多谢各位

这条线是什么?
if(count($temp)==1){“this countable”
您必须先删除“this countable” 你能把错误贴出来吗

使用

如果(is_数组($temp)&&count($temp)==1){“this countable”

而不是


如果(count($temp)==1{“this countable”

您是否尝试打印此
$temp
?您必须添加更多信息,无法根据代码确定$temp的值。请将其记录并添加到问题中。如果
$temp
设置为null,则为字符串或对象(无可计数实现),计数($temp)将生成一个错误。也许您应该使用另一种验证方法,例如,
如果(!is_null($temp))…
谢谢,如果(!is_null($temp))…有效,请使用