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

222 阅读1分钟

原创文章引自(www.ympfb.com/show-29-121…

伪类型:

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

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

方式一 foreach

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

方式二 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
    }
910
    /*
11
        数组的下标, 必须是连续的索引数组
12
    */
1314
?>
  

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

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

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

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

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

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

 1
<?php
2
    
3
    $arr = ['a', 'b', 'c', 'd'];
45
    reset($arr);
67
    while($v = current( $arr )){
8
        ....
9
        next($arr);
10
    }
1112
?>

方式四 list...each

 1
<?php
2
    
3
    $arr = ['a', 'b', 'c', 'd'];
45
    while( list($k, $v) = each($arr) ){
6
      
7
        echo $k.'----'.$v;
8
    
9
    }
1011
    /*
12
        each(数组)     每一次取出一个元素, 返回一个数组
13
        list($k, $v)  
14
            把下标为0的内容赋值给$k
15
            把下标为1的内容赋值给$v
16
    */
1718
?>