加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Codeigniter视图上的Foreach未定义变量错误

发布时间:2020-12-13 22:47:44 所属栏目:PHP教程 来源:网络整理
导读:我在我看来有这个错误,无法找出问题所在. A PHP Error was encounteredSeverity: NoticeMessage: Undefined variable: cFilename: views/commentsList.phpLine Number: 10 这是我的观看代码 !DOCTYPE htmlhtml lang="en"head meta http-equiv="Content-Type"
我在我看来有这个错误,无法找出问题所在.

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: c

Filename: views/commentsList.php

Line Number: 10

这是我的观看代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>

<div id="commentsByParentId">
   <?foreach($comments as $c):?>
        <?=$c['comment']?>
    <?endforeach?>

</div>
</body>
</html>

$comments是来自控制器的数组. $c是循环变量,所以我无法理解为什么它会捕获undef var错误.

UPD:这是我的控制器代码

public function viewCommentsListByParentId($parentid) {
    $data = array();
    $data = $this->em->getRepository('EntitiesComment')->findBy(array('parentid' => $parentid));
    $comments = array();
    for ($i=0; $i<count($data); $i++){
        $comments[$i]['comment'] = $data[$i]->getComment();
    }
    $this->load->view('commentsList',$comments);
}

解决方法

你的服务器是否允许<?标签.有些配置没有,他们会把它们变成常规的html注释.尝试<?php foreach($comments as $c):?&gt ;,看看是否可以解决问题. 编辑: 现在我们修复了这个错误,它不知道$comments是什么.那是因为在你的控制器中你将它定义为$commentsList: 所以你需要<?php foreach($commentsList as $c):?>

注意:您仍然无法使用<?标签,因为这些问题首先出现在问题上. 第二编辑: 我查了CodeIgnitor的文档,它说你必须包含在$this-> load-> view(‘view_name’,$data);其中data是值数组,其中键是视图中使用的变量名,值是该键的值.

所以试试这个:$this-> load-> view(‘view-name’,array(‘comments’=> $comments));

然后在视图中返回<?php foreach($comments as $c):?>

有关详情,请参见this

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读