您的位置:首页 > 编程语言 > PHP开发

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

2016-03-21 16:18 691 查看
一.索引数组

<?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.能用双引号时尽量用双引号,尤其是录入表格内容时,必须用双引号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: