求解PHP迭代器.100分送上 本帖最后由 liebezero 于 2010-04-04 15:31:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我谷歌一下.意外发现点资料.iterator接口是内置的.而且foreach时候.如果是对象.会调用iterator接口.我还是不明白.函数怎么被调用了.返回值返回到哪里去了?我很疑惑 你发现的没错,对于foreach来说,遇到实现了Iterator接口的类的对象的遍历,则使用Iterator接口的相关函数来进行foreach.如果是数组,则按熟知的常规来foreach。查了下,Iterator接口的对象就是ZEND_ITER_OBJECT类。其他的是ZEND_ITER_PLAIN_OBJECT类。请参考:http://www.laruence.com/2008/10/31/574.html 执行顺序:__constructrewindcurrentvalidcurrentkey0=>1nextcurrentvalidcurrentkey1=>2nextcurrentvalidcurrentkey2=>3nextcurrentvalid 请将函数中的$val换成任何一种合法变量名即可回答此问题 大概明白了.谢谢.C++的迭代器对我影响比较大.而且PHP真的很随意我感觉.随意意味着自由.自由也以为的风险 关于第三个问题,呵呵 的确是因为php里没有声明变量这个步骤。放在c++或java里 那样在函数里用的话 肯定是要先声明的 呵呵 关于php以及mysql的一些问题 PHP初学者关于对session的提问 100分求如何实现点击按钮后,从MYSQL数据库导出XLS文件并提示下载另存 求一个联立查询的句子? 请教一下 php在线人数统计的数据库字段定义问题. 关于递归 PHP新手,请教一个问关于echo的输出问题 查找字符串的位置. PHP里和javascript中的escape()功能相当的函数叫什么? 问一个关于php锁定文件的问题 调试php的Xdebug配置不对,网上找了一些方法,可就是无法正常工作! 一个正则表达试的问题
我还是不明白.函数怎么被调用了.返回值返回到哪里去了?我很疑惑
对于foreach来说,遇到实现了Iterator接口的类的对象的遍历,则使用Iterator接口的相关函数来进行foreach.
如果是数组,则按熟知的常规来foreach。
查了下,Iterator接口的对象就是ZEND_ITER_OBJECT类。其他的是ZEND_ITER_PLAIN_OBJECT类。请参考:http://www.laruence.com/2008/10/31/574.html
__construct
rewind
current
valid
current
key
0=>1
next
current
valid
current
key
1=>2
next
current
valid
current
key
2=>3
next
current
valid
放在c++或java里 那样在函数里用的话 肯定是要先声明的 呵呵