用户
 找回密码
 入住 CI 中国社区
搜索
查看: 11549|回复: 9
收起左侧

[已解决] result() 与 row_array()的区别?

[复制链接]
发表于 2011-8-4 15:45:16 | 显示全部楼层 |阅读模式
我在模型的查询中,看到有的用row_array();有的用result();他们分别返回什么样的数据呢?还有就是在什么情况下用row_array()比较好,谢谢大虾啦。。
发表于 2011-8-4 15:53:34 | 显示全部楼层
row_array();
返回的是一行数据的数组
result();
返回的是一个对象数组

在你查询语句只有一行数据的时候用row_array();或者row(),两者差别一个是array一个是object
发表于 2011-8-4 16:32:23 | 显示全部楼层
你习惯面向对象方式就用result,习惯传统方式用result_array();
发表于 2011-8-5 10:49:15 | 显示全部楼层
没有什么区别,rusult_array()返回的是一个数组,如果你要输出或者调用的话 用$数组名['键值']来调用,如果是result返回的对象数组的话,则直接可以 echo 数组名->对象名来直接输出或者调用,这只是方法的不同
发表于 2011-8-5 11:09:38 | 显示全部楼层
田斯 发表于 2011-8-5 10:49
没有什么区别,rusult_array()返回的是一个数组,如果你要输出或者调用的话 用$数组名['键值']来调用,如果 ...

如果我返回的是一个对象,怎么遍历里面的数据呢?
发表于 2011-8-5 11:11:32 | 显示全部楼层
本帖最后由 田斯 于 2011-8-5 11:12 编辑
jinglong 发表于 2011-8-5 11:09
如果我返回的是一个对象,怎么遍历里面的数据呢?

foreach($query->result() as $row){
        
      echo $row->name;
}
发表于 2011-8-5 11:15:59 | 显示全部楼层
田斯 发表于 2011-8-5 11:11
foreach($query->result() as $row){
        
      echo $row->name;

我以为foreach只能遍历数组的。。。。。。
发表于 2011-8-5 11:20:51 | 显示全部楼层
jinglong 发表于 2011-8-5 11:15
我以为foreach只能遍历数组的。。。。。。

result()的返回值也是数组,只不过是对象数组,和关联数组不同的就是不是用键值去调用的,这么说,你理解吧,
发表于 2011-8-5 14:50:10 | 显示全部楼层
田斯 发表于 2011-8-5 11:20
result()的返回值也是数组,只不过是对象数组,和关联数组不同的就是不是用键值去调用的,这么说,你理解 ...

嗯。理解了。
发表于 2011-8-6 19:59:58 | 显示全部楼层
学习了

本版积分规则