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

[已解决] ci中foreach中的循环变量可在循环外使用?

[复制链接]
发表于 2012-6-27 10:24:29 | 显示全部楼层 |阅读模式
本帖最后由 myhyperion 于 2012-6-27 10:29 编辑
PHP复制代码
<? foreach ($comments as $row):?>
<?endforeach;?>
<?=$row->content?>
复制代码

例如上面的代码,明明endforeach时循环已经结束了,但接下来还是能输出content, 虽然是最后一次循环时的数据。这个感觉很奇怪啊。
刚接触没多久,照着 phpall 那个教程做的,所以用的是1.71版,等下试试2.1是不是一样


 楼主| 发表于 2012-6-27 10:28:48 | 显示全部楼层
2.1也一样,最后那条数据超出循环结构后还可以继续使用.
事实上我犯二了,其实这个不是函数,只是个变量,放在html里结果头大了,汗
发表于 2012-6-27 14:45:42 | 显示全部楼层
endforeach只是结束循环了。
最后一次循环得到的数据是保留的。
所以你的$row->content还是有值的。
 楼主| 发表于 2012-6-27 16:30:05 | 显示全部楼层
多谢回复,我看到花括号就把它想当然地想成函数了。真是弱爆了
发表于 2012-6-29 23:52:14 | 显示全部楼层
结束了循环,但并没有销毁变量!
发表于 2012-6-30 23:53:22 | 显示全部楼层
siek 发表于 2012-6-27 14:45
endforeach只是结束循环了。
最后一次循环得到的数据是保留的。
所以你的$row->content还是有值的。 ...

endforeach结束循环了,但是$row是个局部变量啊,它的作用范围只是在foreach这个方法里边啊?除了这个方法内,其他地方是不能访问到的啊?
发表于 2012-7-3 11:03:24 | 显示全部楼层
呃。。谁说它只作用在foreach里面了。
你还是去看看foreach的用法吧。

本版积分规则