2016-12-08 4 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

Самый простой способ перебрать массив с 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 
Смежные вопросы