【问题标题】:Message: count(): Parameter must be an array or an object that implements Countable消息:count():参数必须是数组或实现 Countable 的对象
【发布时间】:2021-05-30 20:18:54
【问题描述】:

请告诉我怎么了?

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/'));
    };
}

谢谢

【问题讨论】:

  • 您是否尝试打印此$temp
  • 您必须添加更多信息,根据代码无法确定。 $temp 的值是多少。请记录并将其添加到问题中。
  • 如果 $temp 设置为 null、字符串、对象(没有 Countable 实现),count($temp) 将产生错误。也许您应该使用另一种验证方法,例如if (!is_null($temp))...
  • 谢谢,使用 if (!is_null($temp))... is work

标签: php countable


【解决方案1】:

这条线是什么? if (count($temp) == 1) { "this countable" 你必须先删除“这个可数” 你能发布错误吗?

【讨论】:

    【解决方案2】:

    使用

    if (is_array($temp) && count($temp) == 1) { "这个可数"

    而不是

    if (count($temp) == 1) { "这个可数"

    【讨论】:

      猜你喜欢
      • 2020-08-25
      • 2019-05-10
      • 2020-01-26
      • 2018-06-28
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多