Foreach 循环|学习笔记

简介: 快速学习 Foreach 循环

开发者学堂课程【PHP 基础入门课程(下)Foreach 循环】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/710/detail/12618


Foreach 循环


目标:掌握 loreach 的语法结构,了解 foreach 原理,灵活使用 foreach 进行数组遍历

1.概念

foreach 循环:PHP 中专门进行数组遍历的循环

(1)foreach 循环专门遍历数组

(2)foreach 循环可以解析数组的下标和值

(3)foreach 语法

foreach(数组变量 as[下标变量=>]值变量){

通过下标变量读取数组中每个元素的下标(可以没有)

通过值变量读取数组中每个元素的值}

[]代表着可有可无,可以只取他的值,也可以只要他的下标

2.步骤

(1)确定要遍历的数组

(2)确定是否需要用到下标

(3)确定下标变量和值变量(名字自取)

(4)确定循环体

3.示例

输出个人的全部信息

#定义数组

$info = array('name'=> '鸣人",'ski11’=>'螺旋丸');

#1、确定要遍历的数组$info

#2、确定是否需要下标:需要

#3、确定相关变量:下标使用 skey 保存,值使用$value 保存 foreach($info as $key => $value){

#4、确定循环体:输出信息

echo $key ,' : " . $value . '<br/>';

}

举例操作

<?php

#foreach 循环

$info = [

'name' "犬夜叉",

'skill'=> '铁碎牙',

'age '100'

];

foreach($info as $k => $v){

#$k 代表每个元素的下标,$v 代表当前元素的值

echo $k 。":'。 $v .'<br/>';

}

运行结果:

image.png

5.流程图解析

以上述案例为例:数组有一个元素指针,元素都会通过数组指针进行访问,默认指向第一个元素

graph LR

A(循环开始)-->B[重置数组指针<br/>$info

B-->c{当前指针所指元素<br/>是否有效}

C-->|无效|E((循环结束))->|有效/D[取出元素<br/>下标赋值给$key<br>值赋值给Svalue<br/>数组指计下移]

D-->F[进入循环体]

E-->C

image.png

重置指针指向第一个,之后看看当前元素指针所指的元素是否有效,有效取出元素,把下标的值取出来赋值给提供的变量,数组指针下降,再进入到循环体,同样在循环一次,取值赋值指针下移,直到指针无效循环停止。

注意:在进行 foreach 时,通常不会进行变例,因为价值不大,也可以有但是极少。

6.小结

(1)foreach 是专门用来进行数组遍历的

(2)foreach 是根据数组指针所在的位置挨个取出元素的,有效会取无效不取

重置指针:执行一次

判定指针有效性

指针有效:取出数组元素

下标赋值给下标变量(如果提供了下标变量)

值赋值给值变量

指针下移

指针无效:循环结束

进入循环体

(3)foreach 可以不获取数组元素的下标,看自己需求

(4)foreach 极少对一维数组进行遍历,通常时二维数组(多维)

相关文章
|
3月前
|
前端开发 程序员
【面试题】在循环 for、for-in、forEach、for-of 、map中改变item的值,会发生什么?
【面试题】在循环 for、for-in、forEach、for-of 、map中改变item的值,会发生什么?
|
3月前
|
缓存 JavaScript 前端开发
为什么for循环比forEach性能高?
在 JavaScript 中,常用的循环有 for 循环和 forEach 循环。虽然两者都可以遍历数组,但它们的实现方式不同,因此性能也有所不同。
68 0
|
3月前
|
前端开发 程序员
【面试题】forEach能跳出循环吗?
【面试题】forEach能跳出循环吗?
|
9月前
|
C#
C#中For循环和Foreach循环的区别
C#中For循环和Foreach循环的区别
|
4月前
|
C#
C# for和foreach两种循环的效率问题
C# for和foreach两种循环的效率问题
|
5月前
|
JavaScript 前端开发
forEach中return会退出循环吗
forEach中return会退出循环吗
52 0
|
6月前
|
存储 JavaScript 前端开发
JS的for循环,forin循环,forof循环,foreach循环map循环以及,reduce()循环 方法最实用详解。
JS的for循环,forin循环,forof循环,foreach循环map循环以及,reduce()循环 方法最实用详解。
|
Web App开发 JavaScript 前端开发
有了 for 循环 为什么还要 forEach ?
有了 for 循环 为什么还要 forEach ?
31909 4
有了 for 循环 为什么还要 forEach ?
常见遍历方法 for循环、forEach、map、filter、find、findIndex、some、every
常见遍历方法 for循环、forEach、map、filter、find、findIndex、some、every
135 0