我正在编写用于循环多维数组数据的代码。 在循环时,我从数组中获取细节时感到困惑。我已经尝试了几种方法但是徒劳无功。
现在我想要的是从数组中提供的键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
)
)
)
)
由于
答案 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
在您可以编码的数组中 - $var['match1'][4][0]
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
作为索引获取第二级数组。