2017-06-15 63 views
-1

我有像下面数据结构的多维阵列,如何遍历,得到所需出放PHP多维阵列显示器

Array 
(
    [P1-VVS2-VVS2] => Array 
     (
      [S] => Array 
       (
        [1] => Array 
         (
          [key] => P1-VVS2-VVS2 
          [saw] => S 
          [row_num] => 1 
          [assign] => 0 
          [total_dollar] => 1490140.75 
          [stone_weight] => 24.5 
          [dollar] => 4963.00 
         ) 

       ) 

      [C] => Array 
       (
        [1] => Array 
         (
          [key] => P1-VVS2-VVS2 
          [saw] => C 
          [row_num] => 1 
          [assign] => 0 
          [total_dollar] => 6080976 
          [stone_weight] => 44 
          [dollar] => 6282.00 
         ) 

       ) 

     ) 

) 

所需出放像,如何可以使用为每个循环或任何其他显示所需的结果数据

P1-VVS2-VVS2 
    S 
    1 
    0 
    1490140.75 
    24.5 
    4963.00 


    P1-VVS2-VVS2 
    C 
    1 
    0 
    6080976 
    44 
    6282.00 
+2

您已经尝试了什么? –

+0

请尝试[https://stackoverflow.com/questions/4222983/simplify-a-nested-array-into-a-single-level-array](https://stackoverflow.com/questions/4222983/simplify-a - 阵列成一个单一的数组) –

+0

*“如何可以使用的每个循环”* - 你有没有尝试过任何东西?看看[foreach'文档中的一些例子](http://php.net/manual/en/control-structures.foreach.php)。 – axiac

回答

1

您可以使用array_walk_recursive,如果你也想输出的中间空间参阅本post为extendd array_walk_recursive。

array_walk_recursive($array, function($v){ 
    echo $v . "\n"; 

}); 
+1

['array_walk_recursive()']的文档的链接(http://php.net/manual/en/function .array-walk-recursive.php)胜过千言万语(和upvote :-))。 – axiac

2
foreach($array as $key=>$item){ 
    echo $key."<br>"; 
    foreach($item as $subKey=>$subItem){ 
     echo $subKey."<br>";; 
     foreach($subItem as $value){ 
      echo $value."<br>"; 
     } 
    } 
} 
1

你可以试试这个

foreach ($array as $arr){ 

    array_walk_recursive($arr, function($res){ 
     echo $res . "\n". '<br>'; 
    }); 
} 
0
<?php 

$marray = array 
    (
    'P1 - VVS2 - VVS2' => Array 
     (
     'S' => Array 
      (
      '1' => Array 
       (
       'key' => 'P1 - VVS2 - VVS2', 
       'saw' => S, 
       'row_num' => 1, 
       'assign' => 0, 
       'total_dollar' => 1490140.75, 
       'stone_weight' => 24.5, 
       'dollar' => '4963.00' 
      ) 
     ), 
     'C' => Array 
      (
      '1' => Array 
       (
       'key' => 'P1 - VVS2 - VVS2', 
       'saw' => C, 
       'row_num' => 1, 
       'assign' => 0, 
       'total_dollar' => 6080976, 
       'stone_weight' => 44, 
       'dollar' => '6282.00' 
      ) 
     ) 
    ) 
); 




foreach ($marray as $key => $item) { 
    foreach ($item as $sub_item) { 
     foreach ($sub_item as $sub_item1) { 
      foreach ($sub_item1 as $sub_item2) { 
       print $sub_item2 . '<br>'; 

      } 
      echo '<br><br>'; 
     } 
    } 
} 

?>