加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

分析PHP foreach循环

发布时间:2021-05-26 16:00:05 所属栏目:编程 来源:互联网
导读:PHP foreach 轮回布局是遍历数组时常用的要领,foreach 仅可以或许应用于数组和工具,假如实行应用于其他数据范例的变量可能未初始化的变量将发堕落误信息。 foreach
PHP foreach 轮回布局是遍历数组时常用的要领,foreach 仅可以或许应用于数组和工具,假如实行应用于其他数据范例的变量可能未初始化的变量将发堕落误信息。

foreach 有以下两种语法名目:

//名目1
foreach (array_expression as $value){
    statement
}

//名目2
foreach (array_expression as $key => $value){
    statement
}

第一种名目遍历 array_expression 数组时,每次轮回将数组的值赋给 $value;第二种遍历不只将数组值赋给 $value,还将键名赋给 $key。

举例演示两种名目标差异:

<?php

$array = [0, 1, 2];

foreach ($array as $val){

echo "值是:" . $val ;

echo "<br/>";

}

foreach ($array as $key => $value) {

echo "键名是:" . $key . "值是:" . $value;

echo "<br/>";

}

?>

执行以上代码打印的功效是:

值是:0

值是:1

值是:2

键名是:0值是:0

键名是:1值是:1

键名是:2值是:2

foreach 在 PHP5 和 PHP7 中的区别 在 PHP 5 版本中,当 foreach 开始轮回执行时,每次数组内部指针城市自动向后移动一个单位,可是在 PHP 7 中却不是这样。如下代码在 PHP 5 和 PHP 7 中的执行功效会有所差异。

<?php

$array = [0, 1, 2];

foreach ($array as $val){

var_dump(current($array));

}

?>

在 PHP 5 中的输出功效为:

int(0) int(1) int(2)

但在 PHP 7 中的输出功效却为:

int(0) int(0) int(0)

在 PHP 7 中,凭证值举办轮回时,foreach 是对数组的复制操纵,在轮回进程中对数组的修改不会影响轮回举动,但在 PHP 5 中却会有影响。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读