如何用PHP制作数组4D

时间:2014-02-13 22:42:28

标签: php arrays multidimensional-array

执行不同查询时,我有这么多数据, 此图片上的示例 a busy cat http://www.admedika2u.com/data-1.jpg

我想要群组最终状态,其中包含nodeid,portid和total,表示总状态。

制作一个像这样的数组

[
  [a => b] => c
] => d

任何想法......?

2 个答案:

答案 0 :(得分:1)

$result = array();
while ($row = $db->fetch_assoc()) {
    $total = $row['total'];
    $port = $row['PortID'];
    $node = $row['NodeID'];
    $final = $row['FinalStatus'];
    if (!isset($result[$total])) {
        $result[$total] = array();
    }
    if (!isset($result[$total][$port])) {
        $result[$total][$port] = array();
    }
    $result[$total][$port][$node] = $final;
}

答案 1 :(得分:0)

在php中,您可以根据需要在阵列上放置多个维度。这里看起来你需要一个三维数组,它会存储值(第四个值)。

如果您有变量$ final_status $ node_id,$ port_id和$ total_status,您可以将它们设置为多维数组,如下所示:

$my_array[$final_status][$node_id][$port_id] = $total_status;

如果您循环使用表中的所有内容,稍后可以使用实际值查找total_status:

$total_status = $my_array[55][2000][32]

但是,我想提一下像这样的大型多维数组可能不是存储数据的最佳方式。也许您需要创建一些可以以更易于访问的方式存储数据的对象类。