1
vibbow 2014-04-14 14:35:30 +08:00
你这个用法怎么这么神奇...
不是这样用的啊亲... 你的get_one_to_three又不是class, -> 怎么可能好用... |
2
vibbow 2014-04-14 14:38:55 +08:00
本地还是5.4的环境,让我先搞个5.5的环境...
|
3
vibbow 2014-04-14 14:48:23 +08:00 1
好吧,我的错。第一次用yield。
以下是正确的,可以运行的代码: |
4
vibbow 2014-04-14 14:48:51 +08:00
|
5
hsu 2014-04-14 15:07:24 +08:00
楼主。。。用VS写PHP方便吗?
|
7
mx1700 2014-04-14 15:37:44 +08:00
$generator->next(); 没有返回值,获取当前值需要用
$key = $generator = $list->key(); $value = $generator = $list->current(); 遍历元素最方便的方法是用foreach,如果有while,大概是这样 $list->rewind(); while ($list->valid()) { $key = $list->key(); $value = $list->current(); var_dump($key, $value); $list->next(); } http://www.php.net/manual/zh/class.iterator.php |
8
mx1700 2014-04-14 15:39:37 +08:00
上边错了,休整一下
$generator->next(); 没有返回值,获取当前值需要用 $key = $generator->key(); $value = $generator->current(); |
9
yakczh OP 那这个yield有什么用,
直接 $a=current($arr); next($arr), $b=current($arr) next($arr) 就行了 |
11
yakczh OP function breakpoint(){
yield 5; yield 6; yield 7; yield 8; } $a=breakpoint(); echo "\n"; print $a->current(); $a->next(); echo "\n"; print $a->current(); $a->next(); echo "\n"; print $a->current(); 明显python简练一些 |
12
bakac 2014-04-14 19:17:08 +08:00
是想说 迭代器么
|