2016-12-08 77 views
2

我有一个名为$grouped_types的数组。当我打印出来它显示是这样的:多维数组读取失败

Array 
(
[XMU_1_1] => Array 
    (
     [0] => Array 
      (
       [port] => 1 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [1] => Array 
      (
       [port] => 2 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [2] => Array 
      (
       [port] => 3 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [3] => Array 
      (
       [port] => 4 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [4] => Array 
      (
       [port] => 5 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [5] => Array 
      (
       [port] => 6 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [6] => Array 
      (
       [port] => 7 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [7] => Array 
      (
       [port] => 8 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [8] => Array 
      (
       [port] => 9 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [9] => Array 
      (
       [port] => 10 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [10] => Array 
      (
       [port] => 11 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [11] => Array 
      (
       [port] => 12 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [12] => Array 
      (
       [port] => 13 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [13] => Array 
      (
       [port] => 14 
       [band] => 700 
       [name] => XMU_1_1 
      ) 

     [14] => Array 
      (
       [port] => 15 
       [band] => 
       [name] => XMU_1_1 
      ) 

     [15] => Array 
      (
       [port] => 16 
       [band] => 
       [name] => XMU_1_1 
      ) 
    ) 

[DUS_1_1] => Array 
    (
     [0] => Array 
      (
       [port] => A 
       [band] => 
       [name] => DUS_1_1 
      ) 

     [1] => Array 
      (
       [port] => B 
       [band] => 
       [name] => DUS_1_1 
      ) 

     [2] => Array 
      (
       [port] => C 
       [band] => 
       [name] => DUS_1_1 
      ) 

     [3] => Array 
      (
       [port] => D 
       [band] => 
       [name] => DUS_1_1 
      ) 

     [4] => Array 
      (
       [port] => E 
       [band] => 
       [name] => DUS_1_1 
      ) 

     [5] => Array 
      (
       [port] => F 
       [band] => 
       [name] => DUS_1_1 
      ) 
    ) 

[DUS_1_2] => Array 
    (
     [0] => Array 
      (
       [port] => A 
       [band] => 
       [name] => DUS_1_2 
      ) 

     [1] => Array 
      (
       [port] => B 
       [band] => 
       [name] => DUS_1_2 
      ) 

     [2] => Array 
      (
       [port] => C 
       [band] => 
       [name] => DUS_1_2 
      ) 

     [3] => Array 
      (
       [port] => D 
       [band] => 
       [name] => DUS_1_2 
      ) 

     [4] => Array 
      (
       [port] => E 
       [band] => 
       [name] => DUS_1_2 
      ) 

     [5] => Array 
      (
       [port] => F 
       [band] => 
       [name] => DUS_1_2 
      ) 
    ) 
) 

现在我想这个阵列在一个表格中显示是这样的:

XMU_1_1 port XMU_1_1 band 

1    
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14     700 
15 
16 

这是我想为每一个不同的名字只有一个名字。每个名字都应该有不同的表格。如何取我的数组,以便我可以显示它为不同的表?我试过,但我不知道如何获取这种类型的数组。

+4

_”我尝试但“_ - 请显示你已经尝试过! – Jeff

回答

1
通过

的阵列,以循环的最简单的方法是使用foreach() loop.With多维阵列,你必须具有一个或两个嵌套foreach()循环,如代码片段所示。我不是说这就是适合你的代码;它只是说明一下嵌套的foreach()循环看起来like.Hope它可以帮助你解决你的问题

LIVE DEMO

<?php 

echo "<table>"; 
foreach ($grouped_types as $k => $val) { 
    echo "<tr> 
      <th>$k port </th> 
      <th>$k band </th> 
      </tr>"; 
    if (is_array($val)) { 
     foreach ($val as $v) { 
      echo "<tr> 
        <td>" . $v['port'] . "</td> 
        <td>" . $v['band'] . "</td> 
        </tr>"; 
     } 
    } 

} 
echo "</table>"; 

?> 

输出:

enter image description here

0

根据您的阵列,这可以按照使用foreach()循环的方式进行。

$array = [ 

"XMU_1_1" =>[ 

      [ 

      "port" => 1, 
      "band" => null, 
      "name" => "XMU_1_1", 

      ], 
      [ 

      "port" => 2, 
      "band" => null, 
      "name" => "XMU_1_1", 

      ], 
      [ 

      "port" => 3, 
      "band" => null, 
      "name" => "XMU_1_1", 

      ], 
      [ 

      "port" => 4, 
      "band" => 700, 
      "name" => "XMU_1_1", 

      ],  
    ] 
]; 


echo "<table>"; 
echo "<tr><th>XMU_1_1 port</th><th>XMU_1_1 band</th></tr>"; 

foreach($array['XMU_1_1'] as $v) { 

    echo "<tr><td>" . $v['port'] . "</td><td>" . $v['band'] . "</td></tr>"; 

} 

echo "</table>"; 

输出

XMU_1_1 port XMU_1_1 band 
1 
2 
3 
4 700