PHP二维索引数组的遍历实例分析【2种方式】

这篇文章主要介绍了PHP二维索引数组的遍历,结合实例形式分析了php使用for循环与foreach循环2种方式遍历数组的相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP二维索引数组的遍历,分享给大家供大家参考,具体如下:

二维索引数组的遍历方式,话不多说,直接看代码。

实例一、

  1. <?php
  2. $arr = array(//定义外层数组
  3. array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1
  4. array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2
  5. array(3,'峰某','C公司','天津市','(022)24680246','fm@mysql.com'), //子数组3
  6. array(4,'书某','D公司','重庆市','(023)13579135','sm@php.com') //子数组4
  7. );
  8. for($row=0;$row<count($arr);$row++){
  9. for($col=0;$col<count($arr[$row]);$col++){
  10. echo $arr[$row][$col]."</br>";
  11. }
  12. }
  13. ?>

运行结果:

  1. 1
  2. 高某
  3. A公司
  4. 北京市
  5. (010)987654321
  6. gm@Linux.com
  7. 2
  8. 洛某
  9. B公司
  10. 上海市
  11. (021)123456789
  12. lm@apache.com
  13. 3
  14. 峰某
  15. C公司
  16. 天津市
  17. (022)24680246
  18. fm@mysql.com
  19. 4
  20. 书某
  21. D公司
  22. 重庆市
  23. (023)13579135
  24. sm@php.com

代码解释:

1、第一个for循环,对$arr数组进行子元素遍历,主要遍历$arr数组的行

2、第二个for循环,对$arr数组下面的子数组进行遍历,主要遍历$arr数组的列

3、实际上我们可以把二维数组理解为一张表格,有行、有列,这样有很好的理解循环了

实例二、

采用foreach循环进行对二维数组的遍历

  1. <?php
  2. $arr = array(//定义外层数组
  3. array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1
  4. array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2
  5. array(3,'峰某','C公司','天津市','(022)24680246','fm@mysql.com'), //子数组3
  6. array(4,'书某','D公司','重庆市','(023)13579135','sm@php.com') //子数组4
  7. );
  8. foreach($arr as $key=>$arr_item){
  9. echo $key."===="; //取出外层数组$arr的下标
  10. echo "<pre>";
  11. print_r($arr_item); //$arr_item就是子数组了
  12. echo "</pre>";
  13. foreach($arr_item as $col){
  14. echo $col;
  15. }
  16. }
  17. ?>

运行结果:

  1. 0====
  2. Array
  3. (
  4. [0] => 1
  5. [1] => 高某
  6. [2] => A公司
  7. [3] => 北京市
  8. [4] => (010)987654321
  9. [5] => gm@Linux.com
  10. )

1高某A公司北京市(010)987654321gm@Linux.com1====

  1. Array
  2. (
  3. [0] => 2
  4. [1] => 洛某
  5. [2] => B公司
  6. [3] => 上海市
  7. [4] => (021)123456789
  8. [5] => lm@apache.com
  9. )

2洛某B公司上海市(021)123456789lm@apache.com2====

  1. Array
  2. (
  3. [0] => 3
  4. [1] => 峰某
  5. [2] => C公司
  6. [3] => 天津市
  7. [4] => (022)24680246
  8. [5] => fm@mysql.com
  9. )

3峰某C公司天津市(022)24680246fm@mysql.com3====

  1. Array
  2. (
  3. [0] => 4
  4. [1] => 书某
  5. [2] => D公司
  6. [3] => 重庆市
  7. [4] => (023)13579135
  8. [5] => sm@php.com
  9. )

4书某D公司重庆市(023)13579135sm@php.com

代码解释:

1、foreach效率相对for循环高,因为foreach是PHP中数组及对象遍历的专用函数

2、$key,取出外层数组$arr的下标

3、$arr_item就是子数组(子数组1,子数组2…..)

4、通过外层数组的下标,对相应子数组进行遍历,其实有点降维的意思。

总结:以上就是通过for循环及foreach()对二维索引数组进行遍历,当然肯定还有其他办法,但以上两种最为常用、效率最高。