【发布时间】:2016-02-06 23:36:41
【问题描述】:
我有这个 PHP 代码:
$a=array(1, 2, 3);
var_dump(current($a));
each($a);
each($a);
each($a);
var_dump(current($a));
$b=$a;
var_dump(current($a));
输出是“int(1) bool(false) int(1)”,但我希望是“int(1) bool(false) bool(false)”,因为经过三次each@的内部指针987654323@ 应该在数组的末尾并留在那里。
但显然赋值$b=$a 将$a 的指针再次设置回第一个元素。这是怎么回事?
(如果我删除一个each,输出如预期的那样是“int(1) int(3) int(3)”。)
【问题讨论】:
-
你的问题有点不清楚。抱歉,我可能做不到,但你还能把你的预期结果用更好的方式表达吗?