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

Posted

技术标签:

【中文标题】如何使用php在foreach循环中获取多维数组的键? [复制]【英文标题】:How to get key of multidimensional array in foreach loop using php? [duplicate] 【发布时间】:2017-07-08 22:21:02 【问题描述】:

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

$marks = [
    "john" => ["physics" => 30, "maths" => 55, "chemistry" => 66],
    "jack" => ["physics" => 44, "maths" => 19, "chemistry" => 87],
    "mark" => ["physics" => 77, "maths" => 66, "chemistry" => 67],
];

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

【问题讨论】:

【参考方案1】:

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

foreach ($array as $key=>$item)...

也像底部代码一样使用它

foreach ($marks as $name=>$scores)
    echo $name .":". $scores["chemistry"];

查看demo中的代码结果

【讨论】:

这让我大开眼界。我总是使用:foreach $array as $key => $value 用于单维数组,但使用:foreach $multiarray as $array.. 并没有停下来认为你可以在第二种情况。太好了,谢谢。

以上是关于如何使用php在foreach循环中获取多维数组的键? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Php多维数组与混合for和Foreach循环

使用递归函数获取多维php数组的新值和键

PHP foreach 循环键值

PHP如何将嵌套的foreach变成数组的数组(多维数组)

使用PHP与2个foreach循环中的数组进行比较时如何获取迭代次数

php foreach怎样获取当前的循环次数