【发布时间】:2016-01-07 13:27:03
【问题描述】:
我正在尝试将平均结果从数据库显示到视图,但我不断收到此错误:
遇到了 PHP 错误
严重性:通知
消息:数组到字符串的转换
文件名:views/resultview.php
行号:38
这是来自控制器的代码:
$average['avg'] = $this->quiz->getAverage($quizid);
$this->load->view('resultview',array('quiz' => $quiz,
'score' => $score,
'average_score' => $average));
模型的功能如下:
function getAverage($quiz)
{
//get percentage from the database
$this->db->select_avg('score');
$this->db->where('id', $quiz);
$res = $this->db->get('userScoreQuiz');
if ($res->num_rows() != 1) {
// there should only be one row - anything else is an error
return false;
}
return $res->result_array();
}
从视图中得到的代码是:
<h4> Avg. score on all previous attempts: <?php echo $average_score['avg'] ?> %</h4>
我不知道为什么会这样。
感谢你们的帮助。
【问题讨论】:
-
您的函数正在返回一个数组
return $res->result_array();而$average_score['avg']是一个数组,说明您收到此错误的原因 -
print_r($average_score)并检查其值 -
而不是这个返回false;传递返回数组();并在必要时检查isset()
标签: php codeigniter average