php 遍历array,PHP数组遍历的几种方式

基本遍历语法

foreach( $数组变量名 as 【$键变量key => 】 $值变量value){

//这是循环体,其中,该结构会将该数组的每一个单元(项),按顺序依次取得

//并将单元的下标赋值给键变量key,将单元的值赋值给值变量value

}

遍历原理

对于php来说,每一个数组中,都有一个“内置的”指针,通常它指向这个数组的某个单元,图示如下:

举例:

$arr = array( 12, 5, ‘aa’=>8, 6=>10, ‘bb’=> 3, 4);

指针是可以人为移动的——通过系统函数;

有如下一些函数可以进行“指针操作”:

$v1 = next( $arr ); //将数组的指针移动到“下一个单元”,并取得这个新位置(新单元)上的值

$v2 = prev( $arr ); //将数组的指针移动到“上一个单元”,并取得这个新位置(新单元)上的值

$v3 = current( $arr ); //直接取得数组的指针所在位置的单元的值;

$v4 = key( $arr ); //直接取得数组的指针所在位置的单元的键(下标);

$v5 = reset( $arr ); //将数组的指针移动到“第一个单元”,并取得第一个单元的值。就是恢复数组

$v6 = end( $arr ); //将数组的指针移动到“最后一个单元”,并取得最后一个单元的值

b741dd26e4bfe675bdc8a3e630df152a.png

遍历流程图:

639c874a8bd348381bea3ead07e5153e.png

for+next遍历数组

需求:

有这样一个数组:

$arr = array( 12, 5, ‘aa’=>8, 6=>10, ‘bb’=> 3, 4);

不使用“foreach”,而是使用for循环,将他遍历输出每一项的下标和值!

e669983454b891a4da16f7e101991d0a.png

while + each + list遍历数组

each()函数的使用:

each()函数可以(先)取得一个数组的“当前单元”的键和值,并(再)将该数组的指针移动到下一个单元

举例:

$arr = array( 12, ‘aa’=>8, 6=>10, ‘bb’=> 3, 4);

$a = each( $arr ); //这里,取得了数组$arr的第一个单元的键(0),和值(12),

//结果,$a是一个数组,其中有 4 项!因为取得的2个数据,做了“双份存储”

//一份是索引数组,下标0为取得键(0),下标1为取得的值(12)

//另一份是关联数组,下标key为取得键(0),下标value为取得的值(12)

举例:

a8154aee7ba907085ea7e5c47a7cccd4.png

使用while+each + list来实现数组的通用遍历:

f0eb4ef417e9be9e2efc71160089788c.png

03088096fe34621a9e05779d6abbff97.gif

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值