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

Php 如何从多维数组中检索数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个多维数组,看起来像这样 $config = array( "First Name" => array( "user" => $_POST['firstname'], "limit" => 35, ), "Last Name" => array( "user" => $_POST['lastname'], "limit" => 40,

我有一个多维数组,看起来像这样

$config = array(
  "First Name" => array(
          "user"  => $_POST['firstname'],
          "limit" => 35,
        ),
  "Last Name" => array(
          "user"  => $_POST['lastname'],
          "limit" => 40,
        ),
);
我想使用config数组中的数组,所以我的方法是使用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循环之外使用它


对不起,如果这是一个愚蠢的问题,我肯定有一个非常简单的答案,但我只是被难住了,想不出一个方法来做这件事。谢谢

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

例如

如果在数组上循环,则当循环完成时,
$data
将指向数组的最后一个元素

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


无论如何,您可能需要阅读。

您可以访问两个子数组$config['First Name']和$config['Last Name']


这就是你想要做的吗?

诀窍是要理解这不是一个真正的多维数组,也就是说,它不是以网格或矩阵的形式存储的(不像C中真正的多维数组)。相反,它只是存储在一个数组中的数组


要回答你的标题问题,这取决于你所说的“检索”是什么意思

是的,这是可行的,但我的意图是在foreach循环之外使用$data数组,因为如果我需要在$data数组上运行一个循环,我在彼此之间有两个循环。@Mike Smith:那么?如果有嵌套循环,则有嵌套循环。根据阵列的大小,这不一定是件坏事。如果手动分配值,如
$data=$config['First Name'];/*循环$data*/$数据=$config['Last Name'];/*再次循环数据*/
您实际上也在这样做。如果内部数组的键始终存在且已知,则不需要在其上循环。您可以直接访问它们并保存内部循环。谢谢。那我就继续干下去。
$first_name_config = $config['First Name'];