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'];