【发布时间】:2014-06-07 12:31:53
【问题描述】:
row_array() 和 result_array() 有什么区别?
它们将如何显示在视图页面上?
if ($variable) {
return $result->row_array();
} else {
return $result->result_array();
}
【问题讨论】:
标签: php arrays codeigniter
row_array() 和 result_array() 有什么区别?
它们将如何显示在视图页面上?
if ($variable) {
return $result->row_array();
} else {
return $result->result_array();
}
【问题讨论】:
标签: php arrays codeigniter
从documentation,row_array 返回单个结果,result_array 返回多个结果(通常用于循环中)。
文档中的示例:
结果数组:
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
行数组:
$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
$row = $query->row_array();
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
【讨论】:
result_array()
将查询结果作为纯数组返回。通常你会在 foreach 循环中使用它。
row_array()
返回单个结果行。如果您的查询包含多行,则它只返回第一行。
与row() 方法相同,只是它返回一个数组。
【讨论】:
1) result_array():返回多维数组。
2) row_array():返回一维关联数组
因此,如果您显示它们中的每一个的结构化信息,您将获得类似于以下内容:
echo var_dump(result_array());
输出:
数组(1){ [0]=> 数组(4){ ["id"]=> string(1) "1" ["title"]=> string(12) "新闻标题 1" ["slug"]=> string(5) "slug1" ["text"]= > string(57) "以 阿拉,这是第一个新闻描述” } }
echo var_dump(row_array());
输出:
数组(4){ ["id"]=> string(1) "1" ["title"]=> string(12) "新闻标题 1" ["slug"]=> string(5) "slug1" ["text"]= > string(10) "描述" }
【讨论】: