PHP7 与 PHP5 foreach 函数的区别 详解

转:https://blog.csdn.net/qq_36431213/article/details/72834360
众所周知 PHP7 带来了 PHP 性能的高速提升 但其中一些方法的使用 已经和原来有一点不同了 比如我们今天介绍的 foreach 方法
———-重点内容
首先的测试版本为PHP 5.6.25

$arr = array('one', 'two', 'three', 'four');
foreach ($arr as &$key) {
    $current = current($arr);
    var_dump($current);
    echo $key . "---->" . $current . "<br/>";

效果图如下
在这里插入图片描述
得到的结果也如下
在这里插入图片描述
下面我们来介绍一下 current 函数的用法
current
current — 返回数组中的当前单元
用法

mixed current ( array &$array )
每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。
参数
array
这个数组。
返回值
current() 函数返回当前被内部指针指向的数组单元的值,并不移动指针。如果内部指针指向超出了单元列表的末端,current() 返回 FALSE。

如果想详细了解 可以看 http://php.net/manual/zh/function.current.php

由此我们可以看到 在PHP 7 之前的版本 比如 PHP 5.6.25
foreach 遍历数组时 数组指针会移动的
再看一下PHP 7.0.10

测试代码如下

$arr = array('one', 'two', 'three', 'four');

foreach ($arr as &$key) {
    $current = current($arr);
    var_dump($current);
    echo "<br/>";
    echo $key . "---->" . $current . "<br/>";
}

效果图如下
在这里插入图片描述
由此我们可以看到在PHP7 新版本中
foreach 遍历数组时 数组指针不会移动
即遍历数组后 不需要使用reset() 使数组指针指向数组的第一个单元

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值