JQuery/PHP

探讨常用PHP二维索引数组的两种遍历方式

阿里云

我们知道 PHP 应用当中,二维数组的应用使用是非常频繁的,特别遇到较为复杂的计算时,我们都可以看到使用二维或者多维数组的,通常在编历多维数组使用的较多的应该是 for 循环遍历和 foreach 遍历两个函数了,其中没什么特殊要求的话,基本上都是在使用 foreach 遍历函数,确实,我们还可以通过这另一个遍历函数来组合成各种各样的输出方式。下面就两个在 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、第一个 for 循环,对$arr 数组进行子元素遍历,主要遍历$arr 数组的行
  • 2、第二个 for 循环,对$arr 数组下面的子数组进行遍历,主要遍历$arr 数组的列
  • 3、实际上我们可以把二维数组理解为一张表格,有行、有列,这样有很好的理解循环了

实例二、

  1. <?PHP
  2. //使用for循环遍历 
  3. $arr2 = array(array("张三", "20", "男"), array("李四", "25", "男"), array("王五", "19", "女"), array("赵六", "25", "女"));
  4. echo "<table border=2 bordercolor=red><tr><td>姓名</td><td>年龄</td& gt;<td>性别</td></tr>";
  5. for ($i = 0; $i < 4; $i++) {
  6.     echo "<tr>";
  7.     for ($j = 0; $j < 3; $j++) {
  8.         echo "<td>";
  9.         echo $arr2[$i][$j];
  10.         echo "</td>";
  11.     }
  12.     echo "</tr>";
  13.     echo "<br>";
  14. }
  15. echo "</table>";
  16. ?>

实例三、

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

  1. <?php
  2.     foreach($arr as $key=>$arr_item){
  3.         echo $key."====";   //取出外层数组$arr的下标
  4.         echo "<pre>";
  5.         print_r($arr_item); //$arr_item就是子数组了
  6.         echo "</pre>";
  7.         foreach($arr_item as $col){
  8.             echo $col;
  9.         }
  10.     }
  11. ?>

代码解释:

  • 1、foreach 效率相对 for 循环高,因为 foreach 是 PHP 中数组及对象遍历的专用函数
  • 2、$key,取出外层数组$arr 的下标
  • 3、$arr_item 就是子数组(子数组 1,子数组 2…..)
  • 4、通过外层数组的下标,对相应子数组进行遍历,其实有点降维的意思。

实例四、

使用 foreach 遍历:

  1. <?php
  2. $arr = array(
  3.     'one' => array('name' => '张三', 'age' => '23', 'sex' => '男'),
  4.     'two' => array('name' => '李四', 'age' => '43', 'sex' => '女'),
  5.     'three' => array('name' => '王五', 'age' => '32', 'sex' => '男'),
  6.     'four' => array('name' => '赵六', 'age' => '12', 'sex' => '女')
  7. );
  8.  
  9. foreach ($arr as $k => $val) {
  10.     echo $val['name'] . $val['age'] . $val['sex'] . "<br>";
  11. }
  12. echo "<p>";
  13. ?>

实例五、

使用 foreach 遍历:

  1. <?php
  2. $arr = array(
  3.     'one' => array('name' => '张三', 'age' => '23', 'sex' => '男'),
  4.     'two' => array('name' => '李四', 'age' => '43', 'sex' => '女'),
  5.     'three' => array('name' => '王五', 'age' => '32', 'sex' => '男'),
  6.     'four' => array('name' => '赵六', 'age' => '12', 'sex' => '女')
  7. );
  8. foreach ($arr as $key => $value) {
  9.     foreach ($value as $key2 => $value2) {
  10.         echo $value2;
  11.     }
  12.     echo "<br>";
  13. }
  14. ?>

总结:以上就是通过 for 循环及 foreach()对二维索引数组进行遍历,当然肯定还有其他办法,但以上两种最为常用、效率最高。我们可以直接进行打印,看输出的表格文件,在实际的应用当中,是可以进行各种标签组合的,以满足自己的需求,像这类的代码使用频率还是非常高的,尤其在大型的项目中,PHP 一维数组,PHP 二维数组,甚至是 PHP 多维数组。

探讨常用 PHP 二维索引数组的两种遍历方式

已有 324 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!