我使用codeigniter。我想通过foreach
打印数据库的行名称。不是数据库中的数组值行名称。
我的方式不起作用并输出:Array
在控制器中:
$query = $this->db->query("SELECT * FROM welcome ORDER BY id desc");
$data = array();
foreach ($query->result() as $row)
{
$data['output'] = array('name' => $row->name);
}
$data['output'] = $data;
$this -> load -> view('welcome', $data);
在视图中:
<?=$output?>
答案 0 :(得分:0)
$output
是一个值数组,因此要将其打印出来,您需要使用print_r()
等函数。
<?php
print_r($output);
?>
在数组上使用echo
或PHP短输出标记将输出数据类型Array
而不是它的内容。
答案 1 :(得分:0)
您不应该使用<?=$output?>
来查看数组。
数组是由多个键和值组成的结构化变量。
这样你应该使用:
print_r() - http://php.net/manual/en/function.print-r.php
或
var_dump() - http://php.net/manual/en/function.var-dump.php
答案 2 :(得分:0)
如果你想打印你的数组,用这个显示它:
foreach ($output as $stuff) {
print_r($stuff);
/* and a break like */
/* in care your array is multidimensional */
}
答案 3 :(得分:0)
我举了你的例子,但查询应该是模型:
$query = $this->db->query("SELECT * FROM welcome ORDER BY id desc");
$data = array();
foreach ($query->result() as $row){
$data['output'][] = $row->name;
}
$this -> load -> view('welcome', $data);
在视图中:
<pre>
<?=print_r($output)?>