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

时间:2018-05-17 13:20:12

标签: php arrays associative-array

我对PHP很新,我遇到了数组问题。 假设我有一个名为$ charsarray的多维关联数组,如下所示:

String arr1[] = {"a", "b", "c"};
String arr2[] = {"d", "e"};
String arr3[] = {"f", "g", "h", "i"};

List<String> result = Arrays.stream(arr1)
        .flatMap(s1 -> Arrays.stream(arr2)
                .flatMap(s2 -> Arrays.stream(arr3)
                        .map(s3 -> s1 + s2 + s3)))
        .collect(Collectors.toList());

我需要提取每个条目的“姓氏”字段,这样我的代码就嵌套了foreach:

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

这会输出 mickey 鼠标 donald duck ,因为它们是关联数组的值。

如果我只想提取姓氏,我可以写一个if语句来检查姓氏。

如果不使用if语句,是否有更好的方法?

2 个答案:

答案 0 :(得分:11)

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

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

}

答案 1 :(得分:0)

姓氏也是该数组中的一个键,因此您需要打印如下

foreach($charsarray as $key => $val){
   echo $val['surname'];
}