导航首页 » 技术教程 » php中遍历二维数组并以表格的形式输出的方法
php中遍历二维数组并以表格的形式输出的方法 127 2024-01-17   

一.索引数组

<?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循环

 2.创建表格时 表,行,列的代码都是成对存在的,不要漏掉,不要忘记加斜杠 /

   3.能用双引号时尽量用双引号,尤其是录入表格内容时,必须用双引号

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持绿夏网。



!!!站长长期在线接!!!

网站、小程序:定制开发/二次开发/仿制开发等

各种疑难杂症解决/定制接口/定制采集等

站长微信:lxwl520520

站长QQ:1737366103