【问题标题】:How to display the PHP multiple dimensional associative array in html table? [duplicate]如何在html表格中显示PHP多维关联数组? [复制]
【发布时间】:2021-01-12 11:27:51
【问题描述】:

下面是我的多维关联数组。

   <?php

$city = array(
    "schoolDetails" => array(
        "schoolOne" => array(
            "schoolName" => "TCS",
            "branchName" => "Iqbal Campus",
            "phone"      => "4256791",
            "numberOfTeachers" => 50,
            "departments" => array(
                "Maths",
                "English",
                "Science",
                "Computer"
            ),
            "teachers" => array(
                "Mr Ali",
                "Mr Waseem",
                "Mr Kashif",
                "Mr Adeel"
            )
        ),

        "schoolTwo" => array(
            "schoolName" => "CSS",
            "branchName" => "Gohdpur Campus",
            "phone"      => "4261201",
            "numberOfTeachers" => 30,
            "departments" => array(
                "Islamiyat",
                "Pakistan Studies",
                "Urdu",
                "Arts"
            ),
            "teachers" => array(
                "Mr Naeem",
                "Mr Waris",
                "Mr Kamran",
                "Mr Aleem"
            )
        )
    )
);
?>

我对如何在 html 中以表格形式显示结果感到困惑。以及如何回显代码。 我尝试输出结果的方式是

    foreach ($city as $school ) {
    # code...
    foreach ($school as $schools ) {
        # code...
        foreach ($schools as $key => $value) {
            # code...
            echo $key . " = " . $value . "<br>";
        }
    }
}

但是在这个我的部门和教师索引没有打印出来。那么如何访问它们并打印它们。

【问题讨论】:

    标签: php arrays multidimensional-array html-table associative-array


    【解决方案1】:
    • 首先上头条
    • 然后遍历学校
    • 输出列及其内容
    echo "<table>\n";
    echo "<tr>";
    foreach (array_keys(reset($city['schoolDetails'])) as $headline) {
        echo "<th>$headline</th>";
    }
    echo "</tr>\n";
    
    foreach ($city['schoolDetails'] as $school) {
        echo "<tr>";
        displayColumn($school);
        echo "</tr>\n";
    }
    echo "</table>\n";
    
    function displayColumn(array $array)
    {
        foreach ($array as $key => $value) {
            echo "<td>";
            if (is_array($value)) {
                echo implode("<br>\n", $value);
            } else {
                echo $value;
            }
            echo "</td>";
        }
    }
    

    【讨论】:

    • 如何分别显示每个部门?就像一列显示数学,旁边显示其对应的 HOD Mr Ali
    • 给出的数据结构将部门与教师分开。如果一个部门有 1-n 个教师会更好。那么在部门内设置一个表格或放置一张桌子是有意义的。对于给定的数据,您可以使用 if 子句。
    猜你喜欢
    • 2021-01-10
    • 2014-05-17
    • 2011-10-13
    • 1970-01-01
    • 2016-11-12
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    相关资源
    最近更新 更多