使用foreach的多维数组

时间:2016-10-04 12:47:35

标签: php arrays multidimensional-array foreach

我正在编写用于循环多维数组数据的代码。 在循环时,我从数组中获取细节时感到困惑。我已经尝试了几种方法但是徒劳无功。

现在我想要的是从数组中提供的键4 中获取值。

Array
(
    [match1] => Array
    (
            [4] => Array
                (
                    [0] => Array
                        (
                            [0] => Sanjay
                            [1] => Delhi
                            [2] => 23
                        )
                    [1] => Array
                        (
                            [0] => Ram
                            [1] => Mumbai
                            [2] => 26
                        )
                )

            [5] => Array
                (
                    [0] => Array
                        (
                            [0] => Sanjay
                            [1] => Delhi
                            [2] => 23
                        )
                    [1] => Array
                        (
                            [0] => Ram
                            [1] => Mumbai
                            [2] => 26
                        )
                )
    )
)

由于

2 个答案:

答案 0 :(得分:1)

要访问多维数组,您需要通过foreach()或直接使用print_r()函数中的密钥进行访问。

因此,根据您的示例,您可以使用

直接访问所需的变量
  • 第一个数组变量以及第一个数组所具有的键。

考虑这个数组,您需要获取可以像这样处理的第一个值。

print_r($var);导致此

Array
(
    [match1] => Array
    (
            [4] => Array
                (
                    [0] => Array
                        (
                            [0] => Sanjay
                            [1] => Delhi
                            [2] => 23
                        )
                    [1] => Array
                        (
                            [0] => Ram
                            [1] => Mumbai
                            [2] => 26
                        )
                )

    )
)

您可以使用以下两种方法检索变量

方法一:

由于包含数组的变量为$var,因此您需要像这样访问。

为了获取密钥所具有的值,您可以$var['match1'][4],并且可以将foreach应用于变量并获取它具有的值。

foreach($var['match1'][4] as $inner_value)
{
// Do what ever stuff you need
}

方法二:

  • 获取键值0 - 0在您可以编码的数组中 - $var['match1'][4][0]
  • 获取键值1 - 1在您可以编码的数组中 - $var['match1'][4][1]

在上述两点的帮助下,您可以在数组中获得尽可能多的值

两者的输出结果如下

Sanjay Delhi 23
Ram Mumbai 26

答案 1 :(得分:0)

这真的很简单。假设主阵列的名称为$mainarray。这就是你如何获得键4 的数组。

$key4array=$mainarray['match1'][4];
foreach($key4array as $arrayele) {
   echo $arrayele[0]." ".$arrayele[1]." ".$arrayele[2]."<br>";
}

输出将是,

Sanjay Delhi 23
Ram Mumbai 26

match1键访问第一级数组,然后以4作为索引获取第二级数组。