Ik probeer een tabel te sorteren op meerdere dingen tegelijk. Om even een simpel voorbeeld te geven, net zoals in de eredivisie zeg maar. Eerst wordt gesorteerd op punten, dan op doelsaldo mochten er evenveel punten zijn en daarna op weet ik veel wat (meeste doelpunten gescoord ofzo?).
Ik heb in php een tabel opgeslagen in een multiple array, dus
deze tabel krijg ik wel op 1 ding gesorteerd.. maar niet op meerdere dingen zoals hierboven beschreven. Op dit moment sorteer ik de array (keys moeten wel bewaard blijven) met msort (code afkomstig van http://nl3.php.net/manual/en/function.sort.php ):
is er een makkelijke manier om de tabel te sorteren, of moet ik met een andere benadering aan de slag?
Ik heb in php een tabel opgeslagen in een multiple array, dus
PHP:
1
| $tabel['eersterij'] = array("naam1"=>"waarde1","naam2"=>"waarde2"); |
deze tabel krijg ik wel op 1 ding gesorteerd.. maar niet op meerdere dingen zoals hierboven beschreven. Op dit moment sorteer ik de array (keys moeten wel bewaard blijven) met msort (code afkomstig van http://nl3.php.net/manual/en/function.sort.php ):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| function msort($array, $id="id") { $temp_array = array(); while(count($array)>0) { $lowest_id = 0; $index=0; foreach ($array as $item) { if (isset($item[$id]) && $array[$lowest_id][$id]) { if ($item[$id]<$array[$lowest_id][$id]) { $lowest_id = $index; } } $index++; } $temp_array[] = $array[$lowest_id]; $array = array_merge(array_slice($array, 0,$lowest_id), array_slice($array, $lowest_id+1)); } return $temp_array; } |
is er een makkelijke manier om de tabel te sorteren, of moet ik met een andere benadering aan de slag?