Sortierung ((mehrdimensionales-array)

spermana

Grünschnabel
hi,
hab ein problem mit einer sortierung:

das (mehrdimensionale)-array:

$ar = array(
array(us_id => "1", svc => array(vote => 5, votecounter => 7)),
array(us_id => "2", svc => array(vote => 7, votecounter => 3)),
array(us_id => "3", svc => array(vote => 4, votecounter => 3)),
array(us_id => "4", svc => array(vote => 2, votecounter => 5)),
array(us_id => "5", svc => array(vote => 7, votecounter => 2))
);

Es soll nach : vote sortiert werden (falls diese glecih sind), dann nach votecounter
sort, ksort usw. sortieren nach Index oder oder den Wert des nach dem Index.

Lösung soll so aussehen:
Array
(
[0] => Array
(
[us_id] => 2
[svc] => Array
(
[vote] => 7 ((((--->>>> das ist wonach als erstes sorteiert werden soll)
[votecounter] => 3 (--->> das ist wonach als erstes sorteiert werden soll)
)
)

[1] => Array
( [us_id] => 5
[svc] => Array
(
[vote] => 7
[votecounter] => 2
)
)

[2] => Array
( [us_id] => 1
[svc] => Array
(
[vote] => 5
[votecounter] => 7
)
)
usw
 
Hi,

folgendes sollte funktionieren:
PHP:
foreach( $ar as $key => $row )
{
    $vote[$key]         = $row['svc']['vote'];
    $votecounter[$key]  = $row['svc']['votecounter'];
}
array_multisort( $vote, SORT_DESC, $votecounter, SORT_DESC, $ar );

print_r( $ar ); // Testausgabe
 
Zuletzt bearbeitet:
Zurück