执行不同查询时,我有这么多数据, 此图片上的示例 a busy cat http://www.admedika2u.com/data-1.jpg
我想要群组最终状态,其中包含nodeid,portid和total,表示总状态。
制作一个像这样的数组
[
[a => b] => c
] => d
任何想法......?
答案 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]
但是,我想提一下像这样的大型多维数组可能不是存储数据的最佳方式。也许您需要创建一些可以以更易于访问的方式存储数据的对象类。