PHP的数组遍历

 时间:2024-10-14 16:05:57

1、foreach( $数组变量名 as 【$键变量key => 】 $值变量value){//这是循环体,其中,该结构会将该数组的每一个单元(项),按顺序依次取得//并将单元的下标赋值给键变量key,将单元的值赋值给值变量value}遍历原理对于php来说,每一个数组中,都有一个“内置的”指针,通常它指向这个数组的某个单元,图示如下:举例:$arr = array( 12, 5, ‘aa’=>8, 6=>10, ‘bb’=> 3, 4);

PHP的数组遍历

2、指镅氪瓷杵针是可以人为移动的——通过系统函数;有如下一些函数可以进行“指针操作”:$v1 = next( $arr )稆糨孝汶; //将数组的指针移动到“下一个单元”,并取得这个新位置(新单元)上的值$v2 = prev( $arr ); //将数组的指针移动到“上一个单元”,并取得这个新位置(新单元)上的值$v3 = current( $arr ); //直接取得数组的指针所在位置的单元的值;$v4 = key( $arr ); //直接取得数组的指针所在位置的单元的键(下标);$v5 = reset( $arr ); //将数组的指针移动到“第一个单元”,并取得第一个单元的值。就是恢复数组$v6 = end( $arr ); //将数组的指针移动到“最后一个单元”,并取得最后一个单元的值遍历流程图:

PHP的数组遍历

3、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)举例:

PHP的数组遍历

4、list()的使用:举例:$arr1 = array( 11, 12, 13 );list($v1, $v2, $v3 ) = $arr1; //这是一个奇怪的语法,其作用(含义)跟下述3行语句一样:$v1 = $arr1[0]; //11$v2 = $arr1[1]; //12$v3 = $arr1[2]; //13可见:list()语法结构,其实就是相当于一次性给多个变量赋值,而且依次将这些变量的值都赋予一个数组的从0开始的连续的整数单元的值;继续:list($s1, $s2) = $arr1; //结果,分别取得11,12还有更灵活的:list($m1, , $m2) = $arr1; //结果分别取得11, 13,即跳过了$arr[1]的取值再来一个例子:$arr2 = array( 2=>11, 3=>12, ‘aa’=>18, 1=>13, ‘bb’=>28, 0=>14 );list($n1, $n2, $n3, $4) = $arr2; //分别取得:14, 13, 11, 12//可见:取值时,不管数组中的单元的下标顺序,以及字符下标也不受影响,而是照此规则进行://第1个变量取得下标为0的单元的值;//第2个变量取得下标为1的单元的值;//第3个变量取得下标为2的单元的值;..........使用while+each + list来实现数组的通用遍历:

PHP的数组遍历

5、foreach遍历的细节foreach也是正常的循环语法结构,可以有break和continue等操作。遍历过程中值变量默认的传值方式是值传递。遍历过程中值变量可以人为设定为引用传递:foreach($arr as $key => &$value){ ... },注意:键变量不可以这样做。foreach默认是原数组上进行遍历。但如果在遍历内部对数组进行了某种修改或某种指针性操作,则会复制数组后在复制的数组上继续遍历循环。foreach中如果值变量是引用传递,则无论如何都是在原数组上进行。

PHP的数组遍历
PHP的数组遍历

6、foreach遍历的细节

PHP的数组遍历
PHP的数组遍历
PHP的数组遍历
  • php如何遍历数组
  • 如何遍历数组
  • js数组 遍历方法
  • 如何用for循环来遍历php 数组初学者
  • php遍历和打印关联数组的值
  • 热门搜索
    手抄报 春节 关于劳动节手抄报 一二年级感恩手抄报 关于防控疫情的手抄报 缅怀先烈的手抄报 数学手抄报五年级 防控疫情的手抄报 清明节手抄报简单 依依惜别手抄报 防控疫情手抄报内容