加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 遍历数组语句总结(foreach,for,list,each)

发布时间:2020-12-13 20:30:10 所属栏目:PHP教程 来源:网络整理
导读:在php中遍历循环读出数组的方法有几种,foreach,for,list,each,while都是可以的,只是那种更适合用来遍历数组了。 foreach来访问,遍历的顺序是固定的么? 以什么顺序遍历呢? 比如:代码如下: ?php $colors = array ( red , blue , green , yellow ); foreach (

在php中遍历循环读出数组的方法有几种,foreach,for,list,each,while都是可以的,只是那种更适合用来遍历数组了。

foreach来访问,遍历的顺序是固定的么? 以什么顺序遍历呢?

比如:代码如下:

  1. <?php 
  2. $colorsarray('red','blue','green','yellow'); 
  3. foreach ($colors as $color){  
  4. //add your codes 
  5. ?> 

例2,代码如下:

  1. $capitalsarray("Ohio"=> "Columbus","Towa"=> "Des Moines","Arizona"=> "Phoenix"); 
  2. foreach($capitals as  $key=> $val){ 
  3. //add your codes 

while()

while() 通常和 list(),each()配合使用,实例代码如下:

  1. <?php 
  2. $colors = array('red','yellow'); 
  3. while(list($key,$val) = each($colors)) { 
  4.  echo "Other list of $val.<br />"
  5. ?> 
  6. /* 
  7. 显示结果: 
  8. Other list of red. 
  9. Other list of blue. 
  10. Other list of green. 
  11. Other list of yellow. 
  12. */ 

3. for(),实例代码如下:

  1. <?php 
  2. $arr = array ("0" => "zero","1" => "one","2" => "two"); 
  3. for ($i = 0;$i < count($arr); $i++) { 
  4.  $str = $arr[$i]; 
  5.  echo "the number is $str.<br />"
  6. ?> 
  7. /* 
  8. 显示结果: 
  9. the number is zero. 
  10. the number is one. 
  11. the number is two. 
  12. */ 

以下是函数介绍:

key()

mixed key(array input_array)

key()函数返回input_array中位于当前指针位置的键元素。

实例代码如下:

  1. <?php 
  2. $capitals = array("Ohio" => "Columbus","Towa" => "Des Moines","Arizona" => "Phoenix"); 
  3. echo "<p>Can you name the capitals of these states?</p>"
  4. while($key = key($capitals)) { 
  5.  echo $key."<br />"
  6.  next($capitals); 
  7. //每个key()调用不会推进指针。为此要使用next()函数 
  8. ?> 
  9. /*结果如下 
  10. Can you name the capitals of these states? 
  11. Ohio 
  12. Towa 
  13. Arizona 
  14. */ 

each() 函数遍历数组

例子1,代码如下:

  1. <?php 
  2. $people = array("Peter""Joe""Glenn""Cleveland"); 
  3. print_r (each($people)); 
  4. ?> 
  5. //输出: 
  6. //Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 ) 

例子2,代码如下:

each() 经常和 list() 结合使用来遍历数组,本例与上例类似,不过循环输出了整个数组, "Cleveland"); 

  • reset($people); 
  • while (list($key$val) = each($people)) 
  •   { 
  •   echo "$key => $val<br />"
  •   } 
  • ?> 
  • /* 
  • 输出: 
  • 0 => Peter 
  • 1 => Joe 
  • 2 => Glenn 
  • 3 => Cleveland 
  • */ 
  • 多维数组的递归遍历,代码如下:

    1. <?php 
    2. /* 
    3. *  ------------------------------------------------- 
    4. *   Author :  
    5. *   Url    : www.phpfensi.com*   Date   : 2011-03-09 
    6. *  ------------------------------------------------- 
    7. */ 
    8. function arr_foreach ($arr)  
    9.  if (!is_array ($arr))  
    10.  { 
    11.   return false; 
    12.  } 
    13.  
    14.  foreach ($arr as $key => $val )  
    15.  { 
    16.   if (is_array ($val))  
    17.   { 
    18.    arr_foreach ($val); 
    19.   }  
    20.   else  
    21.   { 
    22.    echo $val.'<br/>'
    23.   } 
    24.  } 
    25. $arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5); 
    26. echo '<pre>'
    27. print_r($arr1); 
    28. echo '<pre>'
    29. arr_foreach ($arr1); 
    30. ?> 
    31. /* 
    32. 结果 
    33. Array 
    34. ( 
    35.     [1] => Array 
    36.         ( 
    37.             [0] => 11 
    38.             [1] => 12 
    39.             [2] => 13 
    40.             [14] => Array 
    41.                 ( 
    42.                     [0] => 141 
    43.                     [1] => 142 
    44.                 ) 
    45.         ) 
    46.     [2] => 2 
    47.     [3] => 3 
    48.     [4] => 4 
    49.     [5] => 5 
    50. ) 
    51. 11 
    52. 12 
    53. 13 
    54. 141 
    55. 142 
    56. 2 
    57. 3 
    58. 4 
    59. 5 
    60. */ 

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读