2013-08-30 124 views
0

下面是一些复杂的多维数组的输出:迭代通过复杂的多维数组

Array ( 
      [0] => Array ( 
         [@attributes] => Array ([ID] => 114037469 [Name] => MJBDESIGN.ORG [Traffic] => 4 [BidCount] => 0 [Price] => $8 USD [ValuationPrice] => - [TimeLeft] => 3H 27M [RowID] => 1) 
      ) 
      [1] => Array ( 
         [@attributes] => Array ([ID] => 114136929 [Name] => TRAININGPROGRAMMEDESIGN.COM [Traffic] => 11 [BidCount] => 0 [Price] => $8 USD [ValuationPrice] => $3 USD [TimeLeft] => 3H 27M [RowID] => 2) 
      ) 
) 

如何通过迭代每一个元素,并获得“ID”,“名称”和等个别项目的?谢谢

回答

5

这个数组并不那么复杂。

$simpleArray = __YOUR_COMPLEX_ARRAY__; 
foreach ($simpleArray as $array) { 
    $id = $array['@attributes']['ID']; 
    $name = $array['@attributes']['Name']; 
} 
+0

大!。这工作!我会接受你的回答。谢谢 –

1
foreach ($array as $r) { 
    $name = $r['@attributes']['Name']; 
    $id = $r['@attributes']['ID']; 
    # code .... 
} 
0

尝试像,

foreach ($yourarray as $val) { 
    echo $id = $val['@attributes']['ID']; 
    echo $name = $val['@attributes']['Name']; 
} 
+0

为什么分配和回声一样? –

1

如果您想每一行的所有属性:

foreach ($array as $n=>$r){ 
    echo "Row {$n}\n"; 
    foreach ($r as $k=>$v){ 
     // Echo the data 
     echo "{$k}=>${v}\n"; 
    } 
} 
1

只是简单的方法:

$array = // your long array; 

foreach($array as $row) 
{ 
    $id = $row['@attributes']['Id']; 
    $name = $row['attributes']['Name']; 
    // do something with these variables 
}