2011-11-17 57 views
0

从这个数组中创建一些特定的表格有点困难:$test如何从数组中创建表?

数组是这样的:

Array 
(
    [ET5] => Array(
     [0] => Array(
      [0] => Array(
       [total] => 430 
      ) 
     ) 
     [1] => Array(
      [0] => Array(
       [total] => 406 
      ) 
     ) 
    ) 
    [FA] => Array(
     [0] => Array(
      [0] => Array(
       [total] => 0 
      ) 
     )     
     [1] => Array(
      [0] => Array(
       [total] => 0 
      ) 
     ) 
    ) 
    [ET5] => Array(
     [0] => Array(
      [0] => Array(
       [total] => 189 
      ) 
     ) 
     [1] => Array(
      [0] => Array(
       [total] => 228 
      ) 
     ) 
    ) 
    [FA] => Array(
     [0] => Array(
      [0] => Array(
       [total] => 0 
      ) 
     ) 
     [1] => Array(
      [0] => Array(
       [total] => 0 
      ) 
     ) 
    ) 
) 

,我想创建看起来应该是这样的表:

table1的

test1  test2 test3 
ET5  430  189 
FA   0  0 

表2

test1  test2 test3 
ET5  406  228 
FA   0  0 

test1, test2, test3已知字符串

我有点卡在这一个,请注意ET5的值是如何在两个表中。

对此有何意见?

+2

当然,你不*真的*有一个重复的键名持有不同值的数组。还是我误读了一些东西? –

回答

1

你绝对不应该像上面那样覆盖数组的键。

我会分开你的每个表中想要的东西将其添加为数组您已经多维数组...

$test = array(
    [0] => array(
     [ET5] => array(), //rest of inner contents inside these arrays of course 
     [FA] => array() 
    ), 
    [1] => array(
     [ET5] => array(), 
     [FA] => array() 
    ) 
); 

然后运行你的foreach循环,就像任何阵列上:

<?php foreach($test AS $key => $val): ?> 
<table> 
    <tr> 
     <th>Test1</th> 
     <th>Test2</th> 
     <th>Test3</th> 
    </tr> 
    <?php foreach($val AS $v => $info): ?> 
    <tr> 
     <td><?php echo $v; ?></td> 
     <td><?php echo $info[0][0]['total']; ?></td> 
     <td><?php echo $info[1][0]['total']; ?></td> 
    </tr> 
    <?php endforeach; ?> 
</table>  
<?php endforeach; ?> 
+0

+1,绝对需要避免在阵列键上踩跺脚。 – davidethell