我有一个PHP报告,它会发送到服务器阵列以获得正常运行时间。然后在表格中显示正常运行时间。非常简单。
我正在寻找如何对此数组进行排序,以便最长的正常运行时间位于列表的顶部。
我知道arsort()
,但由于foreach动态构建表,我不知道如何将它应用于此语句。
这是我的代码:
$servers = server1,server2,server3
foreach ($servers as $srv) {
$output = array(); // Reset the $output array each time
exec("/root/get_report_uptime.sh $srv",$output,$retval);
echo "<tr>";
echo "<td><a href='http://$srv/' target='_blank'>$srv</a></td>";
echo "<td>$output[0] days</td>";
echo "</tr>";
}
$output[0]
会返回“100”之类的数字。希望按$output[0]
排序,同时保持与$srv
相关联。
答案 0 :(得分:0)
$days = array()
foreach ($servers as $srv) {
$output = array(); // Reset the $output array each time
exec("/root/get_report_uptime.sh $srv",$output,$retval);
$days[$srv] = $output[0];
}
arsort($days);
foreach($days as $srv => $day) {
echo "<tr>";
echo "<td><a href='http://".$srv."/' target='_blank'>".$srv."</a></td>";
echo "<td>".$day." days</td>";
echo "</tr>";
}