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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Codeigniter视图上的Foreach未定义变量错误脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我看来有这个错误,无法找出问题所在.

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('Entities\Comment')->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):?&amp;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

脚本宝典总结

以上是脚本宝典为你收集整理的php – Codeigniter视图上的Foreach未定义变量错误全部内容,希望文章能够帮你解决php – Codeigniter视图上的Foreach未定义变量错误所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。