PHP 遍历数组语句总结(foreach,for,list,each)
在php中遍历循环读出数组的方法有几种,foreach,for,list,each,while都是可以的,只是那种更适合用来遍历数组了。
foreach来访问,遍历的顺序是固定的么? 以什么顺序遍历呢?
比如:代码如下:
<?php $colors = array ( 'red' , 'blue' , 'green' , 'yellow' ); foreach ( $colors as $color ){ //add your codes } ?>例2,代码如下:
$capitals = array ( "Ohio" => "Columbus" , "Towa" => "Des Moines" , "Arizona" => "Phoenix" ); foreach ( $capitals as $key => $val ){ //add your codes }while()
while() 通常和 list(),each()配合使用,实例代码如下:
<?php $colors = array ( 'red' , 'blue' , 'green' , 'yellow' ); while (list( $key , $val ) = each( $colors )) { echo "Other list of $val.<br />" ; } ?> /* 显示结果: Other list of red. Other list of blue. Other list of green. Other list of yellow. */3. for(), 实例代码如下:
<?php $arr = array ( "0" => "zero" , "1" => "one" , "2" => "two" ); for ( $i = 0; $i < count ( $arr ); $i ++) { $str = $arr [ $i ]; echo "the number is $str.<br />" ; } ?> /* 显示结果: the number is zero. the number is one. the number is two. */以下是函数介绍:
key()
mixed key(array input_array)
key()函数返回input_array中位于当前指针位置的键元素。
实例代码如下:
<?php $capitals = array ( "Ohio" => "Columbus" , "Towa" => "Des Moines" , "Arizona" => "Phoenix" ); echo "<p>Can you name the capitals of these states?</p>" ; while ( $key = key( $capitals )) { echo $key . "<br />" ; next( $capitals ); //每个key()调用不会推进指针。为此要使用next()函数 } ?> /*结果如下 Can you name the capitals of these states? Ohio Towa Arizona */each() 函数遍历数组
例子1,代码如下:
<?php $people = array ( "Peter" , "Joe" , "Glenn" , "Cleveland" ); print_r (each( $people )); ?> //输出: //Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 )例子2,代码如下:
each() 经常和 list() 结合使用来遍历数组,本例与上例类似,不过循环输出了整个数组,代码如下:
<?php $people = array ( "Peter" , "Joe" , "Glenn" , "Cleveland" ); reset( $people ); while (list( $key , $val ) = each( $people )) { echo "$key => $val<br />" ; } ?> /* 输出: 0 => Peter 1 => Joe 2 => Glenn 3 => Cleveland */多维数组的递归遍历,代码如下:
<?php /* * ------------------------------------------------- * Author : * Url : HdhCmsTestphpfensi测试数据* Date : 2011-03-09 * ------------------------------------------------- */ function arr_foreach ( $arr ) { if (! is_array ( $arr )) { return false; } foreach ( $arr as $key => $val ) { if ( is_array ( $val )) { arr_foreach ( $val ); } else { echo $val . '<br/>' ; } } } $arr1 = array (1=> array (11,12,13,14=> array (141,142)),2,3,4,5); echo '<pre>' ; print_r( $arr1 ); echo '<pre>' ; arr_foreach ( $arr1 ); ?> /* 结果 Array ( [1] => Array ( [0] => 11 [1] => 12 [2] => 13 [14] => Array ( [0] => 141 [1] => 142 ) ) [2] => 2 [3] => 3 [4] => 4 [5] => 5 ) 11 12 13 141 142 2 3 4 5 */查看更多关于PHP 遍历数组语句总结(foreach,for,list,each) - php数组的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did31343