什么是PHP foreach?

foreach 是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。

PHP foreach两种语法

有两种语法,第二种比较次要但却是第一种的有用的扩展。第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。foreach (array_expression as $value)

statement

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

自PHP 5 起,还可能遍历对象。foreach (array_expression as $key => $value)

statement

注意:当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。

注意:除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。foreach对数组指针有些副作用。除非对其重置,在 foreach 循环中或循环后都不要依赖数组指针的值。

自 PHP 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。<?php

$arr = array(1, 2, 3, 4);

foreach ($arr as &$value) {

$value = $value * 2;

}

// $arr is now array(2, 4, 6, 8)

?>

此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。<?php

foreach (array(1, 2, 3, 4) as &$value) {

$value = $value * 2;

}

?>

php foreach遍历数组详解,PHP foreach遍历数组详解相关推荐

  1. 数组方法深入扩展(遍历forEach,filter,reduce等)

    注:先写入数据API,并在html中创建了5个li,接下来的数组方法都是通过这个数组来应用,并通过模拟每个方法来明白其实现的原理. <ul><li></li>< ...

  2. php foreach详解,php foreach的用法详解,foreach怎么使用

    php foreach的用法详解详细解释了PHP foreach的用法,php foreach的用法:1.通过语法"foreach(array _ expression as $ value ...

  3. php7的foreach遍历数组,PHP中使用foreach遍历三维数组

    昨天写代码的时候遇到一个三维数组,突然不知道怎么遍历这个三维数组,后面经过研究才发现,三维数组可以使用双foreach遍历,现在就分享给大家. PHP代码: //首先声明一个三维数组或者自己从数据库里 ...

  4. go数组详解:数组的定义、遍历、使用细节、二维数组的定义及其遍历

    引入 [1]练习引入: package main import "fmt" func main(){//实现的功能:给出五个学生的成绩,求出成绩的总和,平均数://给出五个学生的成 ...

  5. php each函数二维数组,PHP特定函数foreach遍历一二维数组

    foreach遍历数组的好是可以不知道数组的长度从而读出数组的key,name出来了,在php的foreach中有两种方法,arr_name as $value 和arr_name as $key = ...

  6. 数组的属性、foreach遍历、交错数组与矩形数组的区别

    本次课我们要学习数组的属性.foreach的用法.我上节课提到的交错数组,我会通过多个例子的演示讲解让你们理解交错数组定义已经与规则的二维数组(矩形数组)的区别加深理解,下一节我们还将学习数组的常用方 ...

  7. 【前端】Object.keys()的使用方法及数组遍历,Object.keys(object).forEach(e => {您的代码})

    本文目录 Object.keys()的使用方法及数组遍历 方法一:forEach() 方法二:for()方法 Object.keys()的使用方法及数组遍历 Object.keys()用于获得由对象属 ...

  8. 微信小程序——数组操作 (增加删除修改遍历)map、filter、forEach、find的用法、二维数组,排序,求和、指定长度数组赋值

    一.数组的操作 Array.push() ->在数组后面继续插入内容 Array.pop() ->拿走数组最后一个内容 Array-shift()->拿走数组的第一个内容 (unsh ...

  9. makefile详解 函数 foreach if call origin shell

       makefile详解 函数 foreach if call origin shell 控制make函数 四.foreach 函数 foreach函数和别的函数非常的不一样.因为这个函数是用来做循 ...

最新文章

  1. Kettle日常使用汇总整理
  2. STM32 基础系列教程 10 - 单线串口(半双工)
  3. java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext崩溃解决
  4. SessionFactory 概述
  5. 固定DIV不随滚动条滚动
  6. 20220202--CTF刷题MISC方向--第5题--反编译
  7. Android通过WebView在线打开PDF文件(文中提供源码下载)
  8. (转)从零实现3D图像引擎:(6)向量函数库
  9. LeetCode之Two Sum II - Input array is sorted
  10. js 计算对象数组中某个属性值重复出现的个数
  11. 语音识别热词_出门问问 TWS 耳机语音交互解决方案
  12. 自如被起诉索赔了!因装修致邻居家房屋漏水...
  13. 【恋上数据结构】图代码实现、BFS、DFS、拓扑排序
  14. 系统学习NLP(二十七)--EMLo
  15. 一文带你全面解析postman工具的使用(基础篇)
  16. 拓端tecdat|R语言无监督学习:PCA主成分分析可视化
  17. iec104点号_IEC104规约报文说明(104报文解释的较好的文本)
  18. 会员积分系统三大营销优势
  19. Ps2021软件安装Mac(含M1)、Windows版
  20. SQL Server 2022 CPT 2.0 下载

热门文章

  1. Singleton 模式
  2. [crash分析]Kernel panic - not syncing: Aiee, killing interrupt handler!
  3. iOS应用开发视频教程笔记iPad Apps
  4. PhotoShop 如何给文字描边
  5. 书论25 欧阳询《三十六法》
  6. c# redis分布式锁
  7. SSH远程免密登录的两种方式
  8. 基于STM32F1的超级终端串口控制程序思路分析
  9. 01背包问题分支限界java_分支限界法-01背包问题
  10. 2022.3IDEA配置grep console