如何使用php在foreach循环中获取多维数组的键?

Joh*_*now 5 php foreach loops multidimensional-array

我需要从以下数组中为给定主题打印学生姓名和标记:

$marks = [
    "john" => ["physics" => 30, "maths" => 55, "chemistry" => 66],
    "jack" => ["physics" => 44, "maths" => 19, "chemistry" => 87],
    "mark" => ["physics" => 77, "maths" => 66, "chemistry" => 67],
];
Run Code Online (Sandbox Code Playgroud)

我知道如果我这样做echo $marks['john']['chemistry'];会为学生/科目打印分数,但是我应该如何处理foreach循环来显示所有学生及其化学分数?

Moh*_*mad 5

在 php 中,foreach()您可以像这样获取当前项目的键

foreach ($array as $key=>$item){...}
Run Code Online (Sandbox Code Playgroud)

也像底部代码一样使用它

foreach ($marks as $name=>$scores){
    echo $name .":". $scores["chemistry"];
}
Run Code Online (Sandbox Code Playgroud)

演示中查看代码结果