2013-03-08 147 views
0

下面有数组,需要访问ID但无法使其工作。不知道如何访问第三级阵列。遍历多维数组

Array 
(
[0] => Array 
    (
     [0] => Array 
      (
       [id] => 1 
      ) 

    ) 

[1] => Array 
    (
     [0] => Array 
      (
       [id] => 2 
      ) 

    ) 

[2] => Array 
    (
     [0] => Array 
      (
       [id] => 3 
      ) 

    ) 

[3] => Array 
    (
    ) 

[4] => Array 
    (
     [0] => Array 
      (
       [id] => 5 
      ) 

    ) 
} 

回答

3

在你的例子中,看起来好像id总是与key of 0分开的阵列;

1,硬代码:

foreach($array as $value){ 
    echo isset($value[0]['id']) ? $value[0]['id'] : ''; 
} 

2,迭代虽然第二阵列:

foreach($array as $key=>$value){ 
    if(is_array($value)){ 
     foreach($value as $v){ 
      if(isset($v['id'])){ 
       echo $v['id']; 
      } 
     } 
    } 
} 
+0

由于@SamuelCook知道它总是,这并获得成功3小时后,混淆和在线搜索。 – gustavo 2013-03-08 16:01:34

0

你可以这样说:

echo $array[0][0]['id']; 

而要全部打印出来:

foreach ($array as $arr) { 
    echo $arr[0]['id']; 
} 

这应该做到这一点。

1

您做以下方式:$a[0][0]["id"]

0

第一:

$multiArr = array ([0] => array ([0] => array (['id'] => 1))); 

和:

echo $multiArr[0][0]['id']; //or $multiArr['0']['0']['id'] 
0

你尝试Array[index of array 1][index of array 2][index of array 3]

0
for ($i=0;$i<count($inputarray);$i++) { 
    echo "ID=".$inputarray[$i][0]['id']."<br />"; 
} 

循环通过主阵列和因为你的子阵列总是元件元素0和您的第三级始终是元素ID,它会拉动它。

现在,如果你的子数组包含多个元素,那么你就必须双回路或直接引用还是,如果你在同一个地方