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):?> ;,看看是否可以解决问题. 编辑: 现在我们修复了这个错误,它不知道$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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |