2016-10-04 94 views
-2

我正在编写一个用于从多维数组中循环数据的代码。 循环时,我从数组中获取细节时感到困惑。我尝试了几种方法来获得,但徒劳无功。使用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 
         ) 
       ) 
    ) 
) 

感谢

+0

你的问题,我相信你只需要'$ arr [“match1”] [4]',对吧? –

+1

添加到Praveen Kumar可能需要'$ arr [“match1”] [4] [0]'或$ $ arr [“match1”] [4] [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作为索引以获得所述第二级阵列。

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 - - 10的阵列,它已经可以作为代码它拥有的阵列可以编码为 - $var['match1'][4][1]

你可以,你可以在阵列内获得尽可能多的价值与以上两点的帮助

输出两个这将是相同的如下

Sanjay Delhi 23 
Ram Mumbai 26