关于一个问题!打印输出
本帖最后由 阿呆 于 2011-12-29 17:26 编辑$my_recent_cmts = $this->comments_mdl->get_cmts_by_owner('comment', 'approved', $this->user->uid, 5, 0);
//echo($my_recent_cmts->result()->pid); //这里 会输出错误
//exit();
if($my_recent_cmts->num_rows() > 0)
{
foreach($my_recent_cmts->result() as $recent_cmt)
{
//echo($recent_cmt->pid); //这里 输出正确
//exit();
$recent_cmt->parent_post = $this->posts_mdl->get_post_by_id('pid', $recent_cmt->pid);
}
}
上面的echo会出错,下面的却正确,是为什么啊。
还有$recent_cmt->parent_post 这个东西是什么。
print_r这个( $my_recent_cmts )结果是:
【
CI_DB_mysql_result Object ( => Resource id #36 => Resource id #70 => Array ( ) => Array ( ) => 0 => 1 => )
】
result()返回一个数组型的结果集,所以下面foreach每一个结果对象以后就可以用对象->属性来访问了。 huboo82 发表于 2011-12-29 18:20 static/image/common/back.gif
result()返回一个数组型的结果集,所以下面foreach每一个结果对象以后就可以用对象->属性来访问了。 ...
按道理这2个应该是一样的啊
1、$my_recent_cmts->result()->pid
2、$recent_cmt->pid
但1却不可以输出,提示错误! 似乎是因为上面没有foreach啊,查询返回的结果集没有foreach()来拆开就直接用->pid去取的话肯定不行啊 哦。还想请问一下 这个是什么东西?哪里来的。
$recent_cmt->parent_post 本帖最后由 阿呆 于 2011-12-30 16:26 编辑
sosospicy 发表于 2011-12-30 15:05 static/image/common/back.gif
用result()获取到的是对象结果集 所以用 ->访问元素
若用result_array()来后去,则获取到的是数组结果集 ...
我发现foreach里面的
这个东西是随意写的也行。$recent_cmt->parent_post
例:parent_post可以换成任意变量
会被自动当作数组添加到result()集中。
不知道是怎么回事,引用吗?
页:
[1]