php中遍历二维数组并以表格的形式输出的方法

2019-05-02 06:19:51丽君

一.索引数组

<?php
//使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引
  $contact1 = array(                       //定义外层数组
  array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1
  array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2
  array(3,'峰某','C公司','天津市','(022)24680246','fm@mysql.com'), //子数组3
  array(4,'书某','D公司','重庆市','(023)13579135','sm@php.com')   //子数组4
  );
  //以HTML表格的形式输出二维数组中的每个元素
  echo '<table border="1" width="600" align="center">';
  echo '<caption><h1>联系人列表</h1></caption>';
  echo '<tr bgcolor="#dddddd">';
  echo '<th>编号</th><th>姓名</th><th>公司</th><th>地址</th><th>电话</th><th>EMALL</th>';
  echo '</tr>';
  //使用双层for语句嵌套二维数组$contact1,以HTML表格的形式输出
  //使用外层循环遍历数组$contact1中的行
  for($row=0;$row<count($contact1);$row++)
  {
    echo '<tr>';
    //使用内层循环遍历数组$contact1 中 子数组的每个元素,使用count()函数控制循环次数
    for($col=0;$col<count($contact1[$row]);$col++)
    {
      echo '<td>'.$contact1[$row][$col].'</td>';
    }
    echo '</tr>';
  }
  echo '</table>';

输出效果

二.关联数组(不能用for循环)

$contact2 = array(
  "北京联系人"=>array(1,'高某','A公司','北京市','(010)987654321','gm@linux.com'),
  "上海联系人"=>array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),
  "天津联系人"=>array(3,'峰某','C公司','天津市','(022)246802468','fm@mysql.com'),
  "重庆联系人"=>array(4,'书某','D公司','重庆市','(023)135791357','sm@php.com')
  );
 //创建表格将数组循环输入
  echo '<table border="1" width="600" align="center">';
  echo '<tr bgcolor="#dddddd">';
  echo '<th>编号</th><th>姓名</th><th>公司</th><th>地区</th><th>电话</th><th>EMALL</th>';
  echo '</tr>';
  foreach ($contact2 as $key=>$value)
  {
    echo '<tr>';
//foreach里面嵌套一个for循环也是可以的
    /*for($n=0;$n<count($value);$n++)
    {
      echo "<td>$value[$n]</td>";
    }*/
//foreach里面嵌套foreach

    foreach($value as $mn)
    {
      echo "<td>{$mn}</td>";
    }
    echo '</tr>';
  }
  echo '</table>';

输出效果:

注意:1.关联数组不能直接用for循环

相关文章 大家在看