Php 将多维数组显示为列表

Php 将多维数组显示为列表,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我试图显示一个多维数组,我是以一种非常静态的方式来做的。我想知道我怎样才能用foreach达到同样的效果 我尝试过单独访问,但编码技术似乎不可接受 桌子 我的职能 function printTable($table){ echo "<h2>Employee #1</h2>"; echo $table[0]["name"]; echo $table[0]["occupation"]; echo $table[

我试图显示一个多维数组,我是以一种非常静态的方式来做的。我想知道我怎样才能用foreach达到同样的效果

我尝试过单独访问,但编码技术似乎不可接受

桌子

我的职能

function printTable($table){
        echo "<h2>Employee #1</h2>";
        echo $table[0]["name"];
        echo $table[0]["occupation"];
        echo $table[0]["salary"];
        echo $table[0]["specialty"];

        echo "<h2>Employee #2</h2>";
        echo $table[1]["name"];
        echo $table[1]["occupation"];
        echo $table[1]["salary"];
        echo $table[1]["specialty"];

        echo "<h2>Employee #3</h2>";
        echo $table[2]["name"];
        echo $table[2]["occupation"];
        echo $table[2]["salary"];
        echo $table[2]["specialty"];
    }

期望的结果检查这个。你有2D数组,所以我们需要2个循环,然后我们打印键值name is key和值。我还添加了一个计数器来打印员工数量

    $counter = 1;
    echo "<ul>";
    foreach($table as $val){
        echo "<h2>Employee #$counter</h2>";
        foreach($val as $key => $val1){
            echo "<li>$key: $val1 </li>";
        }
        echo "<br>";
        $counter++;
    }
    echo "</ul>"

您可以轻松地使用多维数组中可用的键和值

要计算员工编号,请在索引第一级关键字中添加1

通过将元素写在标记之外,您可以实现所发布屏幕截图的选项卡式外观

使用css为您的和标记的字体设置样式

测试代码:

$array = [
    ["name" => "Bob", "occupation" => "employee", "salary" => 1500, "specialty" => "programmer"],
    ["name" => "Sally", "occupation" => "manager", "salary" => 2300, "specialty" => "human resources management"],
    ["name" => "Jane", "occupation" => "employee", "salary" => 800, "specialty" => "secretary"]
];

echo "<h1>Employees and managers</h1>";
foreach ($array as $index => $row) {
    echo "<h2>Employee #" , $index + 1 , "</h2>";
    echo "<ul>";
        foreach ($row as $label => $value) {
            echo "<li>$label: $value</li>";
        }
    echo "</ul>";
}
输出:


$num是undefined@Andreas修正了。不是我的问题。如果您满意,请选择一个答案。@
$array = [
    ["name" => "Bob", "occupation" => "employee", "salary" => 1500, "specialty" => "programmer"],
    ["name" => "Sally", "occupation" => "manager", "salary" => 2300, "specialty" => "human resources management"],
    ["name" => "Jane", "occupation" => "employee", "salary" => 800, "specialty" => "secretary"]
];

echo "<h1>Employees and managers</h1>";
foreach ($array as $index => $row) {
    echo "<h2>Employee #" , $index + 1 , "</h2>";
    echo "<ul>";
        foreach ($row as $label => $value) {
            echo "<li>$label: $value</li>";
        }
    echo "</ul>";
}