开发者社区> 问答> 正文

请教php如何移动数组内部指针?

php的数组都有一个内部指针,指向数组的元素,初始化的时候是第一个,我要便利数组,让内部指针逐个移动

$arr = array ('a', 'b', 'c', 'd', 'e');
foreach ($arr as $k => $v) {
    $curr = current($arr);
    echo "{$k} => {$v} -- {$curr}\n";
}

得到结果是
0 => a -- b
1 => b -- b
2 => c -- b
3 => d -- b
4 => e -- b
内部指针向后移动了一位就再也没动过了。。。
foreach对这个数组做了什么呢?为什么呢?
我要让指针遍历数组,得到如下结果改怎么做呢?
0 => a -- a
1 => b -- b
2 => c -- c
3 => d -- d
4 => e -- e

展开
收起
落地花开啦 2016-06-13 10:43:21 2183 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    PHP 的数组指针操作函数:
    pos() 、end() 、prev()、next() 、each() 、reset()、current()
    screenshot
    foreach() 操作原始数组的一个拷贝,如果需要移动指针,使用 while 结构加上 each() 来实现。

    $arr = array ('a', 'b', 'c', 'd', 'e');
    reset($arr);
    while (list($k, $v) = each($arr)) {
        # 当前指针已经被指向了下一位
        $curr = current($arr);
        echo "{$k} => {$v} -- {$curr}\n";
    }
    2019-07-17 19:35:17
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载