原创文章引自(https://www.ympfb.com/show-29-121-1.html

 

php手册 php数组的遍历有哪几种方式?php数组如何遍历?

 

伪类型:

mixed,说明一个参数可以接受多种不同的类型。 number,说明一个参数可以是整型或浮点型。 callback,说明参数是一个回调函数。 void,如果作为返回类型,意味着函数的返回值是没有用的。作为参数列表中的内容意味着不接受任何参数

 

数组遍历

遍历, 是指对数组中每一个元素,挨个去处理.

方式一 foreach

 
 
 
 
 
 
1
<?php
2
3
    $arr = ['a', 'b', 'c', 'd'];
4
5
    foreach( $arr as $k => $v ){
6
        .... 
7
    }
8
9
    /*
10
        $arr  是要遍历的数组
11
        把数组中每一个元素拿出来  下标    赋值给$k
12
                                元素值  赋值给$v
13
                                
14
        换句话讲, $k 和 $v 相当于形参
15
    */
16
17
?>
 
 

 

方式二 for

 
 
1
<?php
2

3
    $arr = ['a', 'b', 'c', 'd'];
4
    $n = count( $arr );
5

6
    for($i = 0; $i < $n; $i++){
7
        echo $arr[ $i ];
8
    }
9
10
    /*
11
        数组的下标, 必须是连续的索引数组
12
    */
13
14
?>
 
 

 

方式三 指针

reset( ) 把数组内部指针指向第一个单元

next( ) 将数组中的内部指针向前移动一位

prev( ) 将数组中的内部指针倒回一位

end( ) 将数组的内部指针指向最后一个单元

current( ) 返回指针当前位置的 值

key( ) 返回指针当前位置的 下标

 
 
 
 
 
 
1
<?php
2

3
    $arr = ['a', 'b', 'c', 'd'];
4
5
    reset($arr);
6
7
    while($v = current( $arr )){
8
        ....
9
        next($arr);
10
    }
11
12
?>
 
 

 

方式四 list...each

 
 
 
 
 
 
1
<?php
2

3
    $arr = ['a', 'b', 'c', 'd'];
4
5
    while( list($k, $v) = each($arr) ){
6
      
7
        echo $k.'----'.$v;
8

9
    }
10
11
    /*
12
        each(数组)     每一次取出一个元素, 返回一个数组
13
        list($k, $v)  
14
            把下标为0的内容赋值给$k
15
            把下标为1的内容赋值给$v
16
    */
17
18
?>