PHP对多个数组进行排序

时间:2015-01-16 18:14:33

标签: php arrays sorting

我有一个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相关联。

1 个答案:

答案 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>";
}