PHP,从关联多维数组中获取特定$key的$value

6

我是一名新手 PHP 开发者,在数组方面遇到了问题。比如我有一个多维关联数组叫做 $charsarray,长这样:

[1] => ([name] => mickey [surname] => mouse)
[2] => ([name] => donald [surname] => duck)
...
[N] => (...)

我需要提取每个条目的“姓氏”字段,因此我的代码有嵌套foreach:
foreach($charsarray as $key => $value )
{
    foreach($value => $singlechar)
    {
      echo $singlechar
    }
}

这将输出mickey mouse donald duck,因为这些是关联数组的值。

如果我只想提取姓氏,我可以编写一个if语句来检查键是否为surname。

有没有更好的方法可以不使用if语句来实现这一点?

2个回答

13

你不需要遍历整个数组。只需使用正确的索引(姓氏)引用数组中的特定值即可。

foreach($charsarray as $key => $value )
{
   echo $value['surname']

}

该死!我也在第二个foreach循环内部做同样的事情,所以我只得到了每个条目的第一个字符:MMDD。现在我明白了,谢谢。 - Podarce

0
姓氏也是该数组中的一个关键字,因此您需要按以下方式打印。
foreach($charsarray as $key => $val){
   echo $val['surname'];
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接