什么是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. 什么是新IP的四层网络技术
  2. 详解MariaDB数据库的触发器
  3. 【知识星球】模型量化从1bit到8bit,二值到三值
  4. Linux HOOK
  5. HAN:基于双层注意力机制的异质图深度神经网络
  6. Mongodb副本集配置
  7. Java 8的烹调方式–拼图项目
  8. setjump和longjump
  9. [Android]PhoneGap源码分析——白名单
  10. JAVA设计模式Design Pattern→单例模式Singleton Pattern、工厂模式Factory Pattern、代理模式Proxy Pattern
  11. Qt Embedded性能优化详解
  12. IOUtils工具类的依赖maven
  13. css 背景图片虚化磨砂效果
  14. Viojs P1484 ISBN号码
  15. Unity存档探索:PlayerPref、 Easy Save 2、Easy Save3
  16. Python Keras ValueError: Layer sequential expects 1 input(s), but it received 2 input tensors. 解决方法
  17. idea 2019.2顶部菜单栏隐藏的恢复办法
  18. 视觉能力提升112%!李飞飞团队让AI进入社会,学会了“骗”标注…
  19. 按键精灵提交表单发起post请求
  20. 苹果AppStore应用商店生存之道:国内iOS开发者创业经验分享(三)

热门文章

  1. [kernel] 编译能复现指定poc的内核的排错过程
  2. PHP面向对象和面向过程
  3. 【YBTOJ】开车旅行
  4. kingbase(人大金仓)导出导入指定表
  5. DD-MON-YY日期格式在插入和更新时出错
  6. ios 设置状态栏颜色
  7. openGL画一个正5角星
  8. 根据Excel数据拼接sql,多列
  9. css tr标签自动换行,HTML中table设置td标签内容过多自动换行
  10. 通过人工智能算法再次进行文本到图像的转换