如何从多维数组中检索数组

时间:2011-01-09 18:48:53

标签: php arrays multidimensional-array

所以我有一个多维数组看起来像这样。

$config = array(
  "First Name" => array(
          "user"  => $_POST['firstname'],
          "limit" => 35,
        ),
  "Last Name" => array(
          "user"  => $_POST['lastname'],
          "limit" => 40,
        ),
);

我想使用配置数组中的数组,所以我的方法是使用foreach循环。

foreach($config as $field => $data) {

}

现在我知道$ data将是我的数组,但似乎我不能在foreach语句之外使用它,因为我只有一半已经存在。使用print_r,您可以看到它在循环外显示的内容:

 Array
(
    [user] => lastname
    [limit] => 40
)

但是当我在循环中使用print_r时,这是我的结果:

Array
(
    [user] => firstname
    [limit] => 35
)
Array
(
    [user] => lastname
    [limit] => 40
)

我想它必须要用foreach循环做一些事情。我试图在$ data数组上运行foreach来填充另一个数组,但是这样也没有用。

有没有办法在foreach循环之外使用它?

对不起,如果这是一个愚蠢的问题,我相信这有一个非常简单的答案,但我只是难倒,并且想不出办法做到这一点。谢谢。

3 个答案:

答案 0 :(得分:1)

$config['First Name']将返回第一个数组,$config['Last Name']第二个。

E.g。

$first_name_config = $config['First Name'];

如果循环遍历数组,那么当循环完成时,$data将指向数组的最后一个元素

这是你想要的吗?如果没有,请澄清你的问题。

无论如何,您可能希望阅读Arrays in PHP

答案 1 :(得分:0)

您可以将这两个子阵列作为$ config ['First Name']和$ config ['Last Name']进行访问。

这就是你想要做的吗?

答案 2 :(得分:0)

诀窍是要理解这不是一个多维数组,即它不是存储为网格或矩阵(与例如C中的真正多维数组不同)。相反,它只是存储在数组中的数组。

要回答您的标题问题,这取决于“检索”的含义!

相关问题