忧郁之子
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>';
<?php
$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.能用双引号时尽量用双引号,尤其是录入表格内容时,必须用双引号