2012-09-07 15 views
-1

排序我有被稱爲parentArray()並且是一個關聯數組連鍵爲數字(未有序整數),並且可以是或可以不是陣列中的值的數組。我有一個foreach()迴路循環通過parentArray()並打印數據以HTML表格是這樣的:如何將此多維陣列根據以下條件

foreach ($parentArray as $parentkey => $childArray){ 
    echo "<tr>"; 
    $Usage = some_function1($parentkey); 
    $schoolUsage = some_function2($parentkey); 
    echo "<td>".$Usage."</td>"; 
    echo "<td>".$schoolUsage."</td>"; 
    echo "</tr>"; 
} 

我需要輸出表中增加$使用順序排序,如果兩行有$的相同的無用法則應該比較$ schoolUsage並按降序對它們進行排序。任何想法如何做到這一點,因爲我完全無能爲力。請注意$ Usage和$ schoolUsage是整數。

+1

['usort'](http://php.net/usort)具有自定義比較功能。你描述的邏輯真的不難編入代碼。嘗試一下。 – deceze

回答

0

看看功能usort()。你可以傳遞一個自定義函數來進行排序(冒泡排序)。

usort($parentArray, function($element1, $element2) { 
    if($element1 == $element2) return 0; // elements stay on the same position as before 
    if$element1 < $element2) { 
    return -1; // move $element1 before element2 
    } else { 
    return 1; // move $element2 before element1 
    } 
}); 
0

您的問題尚未完全清楚,我,但據我瞭解,你可能需要在PHP這個內置的功能:array_multisort。希望有助於解決您的問題。

快樂編碼:)