Home >Backend Development >PHP Tutorial >How to loop through a two-dimensional array and output it in table form

How to loop through a two-dimensional array and output it in table form

伊谢尔伦
伊谢尔伦Original
2017-06-23 15:17:333339browse

1. Index array

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

Output effect

2. Associative array (cannot use for loop)

$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>';

Output effect:

Note:1. Associative arrays cannot be used directly with for loop

2. When creating a table, the codes for tables, rows, and columns exist in pairs. Don’t miss them and don’t forget to add slashes /

3. Try to use double quotes when you can, especially when entering table content, you must use double quotes

The above is the detailed content of How to loop through a two-dimensional array and output it in table form. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn