php中遍历二维数组并以表格的形式输出
一.索引数组
<?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.能用双引号时尽量用双引号,尤其是录入表格内容时,必须用双引号