http://www.php.net/manual/en/function.array-multisort.phpen heb je deze nodig:
Quote:
The data as an array, called data. This would usually, for example, be obtained by looping with mysql_fetch_assoc().
[COLOR= #0000BB]<?php
$data[/COLOR][COLOR= #007700][] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]volume[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]67[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]edition[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]2[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$data[/COLOR][COLOR= #007700][] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]volume[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]86[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]edition[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$data[/COLOR][COLOR= #007700][] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]volume[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]85[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]edition[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]6[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$data[/COLOR][COLOR= #007700][] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]volume[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]98[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]edition[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]2[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$data[/COLOR][COLOR= #007700][] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]volume[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]86[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]edition[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]6[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$data[/COLOR][COLOR= #007700][] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]volume[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]67[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]edition[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]7[/COLOR][COLOR= #007700]);[/COLOR]
?>
We have an array of rows, but array_multisort() requires an array of columns, so we use the below code to obtain the columns, then perform the sorting.
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]// Obtain a list of columns[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$key[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$row[/COLOR][COLOR= #007700]) {[/COLOR]
[COLOR= #0000BB]$volume[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$key[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$row[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]volume[/COLOR][COLOR= #007700]];[/COLOR]
[COLOR= #0000BB]$edition[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$key[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$row[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]edition[/COLOR][COLOR= #007700]];
}[/COLOR]
[COLOR= #FF8000]// Sort the data with volume descending, edition ascending
// Add $data as the last parameter, to sort by the common key[/COLOR]
[URL="http://www.php.net/array_multisort"]array_multisort[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$volume[/COLOR][COLOR= #007700],[/COLOR] SORT_DESC[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$edition[/COLOR][COLOR= #007700],[/COLOR] SORT_ASC[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700]);[/COLOR]
?>