我试图显示一个多维数组,并且我以一种非常静态的方式做到这一点。我想知道如何用foreach达到相同的结果。
我已经尝试过访问单个作品,但是编码技术似乎不可接受。
表
array(
"name" => "Bob",
"occupation" => "employee",
"salary" => 1500,
"specialty" => "programmer"
),
array(
"name" => "Sally",
"occupation" => "manager",
"salary" => 2300,
"specialty" => "human resources management"
),
array(
"name" => "Jane",
"occupation" => "employee",
"salary" => 800,
"specialty" => "secretary"
),
);
我的功能
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"];
}
答案 0 :(得分:1)
检查这一点。您有2D数组,因此我们需要2个for循环,然后我们打印键值(名称为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 :(得分:0)
您可以轻松使用多维数组中可用的键和值。
要计算员工人数,请在索引(第一级键)上加1。
通过在<ul>
标记之外编写<h1>
元素,您将获得已发布屏幕截图的标签式外观。
使用CSS设置<h2>
和$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>";
}
标签的字体样式。
经过测试的代码:
{{1}}
输出: