phpbar.de logo

Mailinglisten-Archive

[php] array sortieren

[php] array sortieren

Christian Hamacher php_(at)_phpcenter.de
Tue, 18 Sep 2001 19:24:27 +0200


Hi Daniel,

so ganz habe ich die Mails zu dem Thema nicht mit bekommen.
Hast die Lösung schon?

Ich bin aus deiner Beschreibung, wo nach sortiert werden soll,
nämlich nicht so ganz schlau geworden.

> Je höher der KO wert, desto weiter unten, dass bedeutet
> reihenfolge

Das passt aber nicht zu

> am meisten punkte
> am meisten eli
> am meisten ko

Schau mal ob das so hin haut.

<?php
$prd['a']['punkte'] = 20;
$prd['a']['ko'] = 1;
$prd['a']['eli'] = 1;
$prd['b']['punkte'] = 15;
$prd['b']['ko'] = 2;
$prd['b']['eli'] = 0;
$prd['c']['punkte'] = 20;
$prd['c']['ko'] = 2;
$prd['c']['eli'] = 3;

function cmp ( $a,$b ) {
  if ($a['punkte'] != $b['punkte'] )
     return ($a['punkte'] <= $b['punkte'] ) ? 1 : -1 ;
  if ($a['eli'] != $b['eli'] )
     return ($a['eli'] <= $b['eli'] ) ? 1 : -1 ;
  if ($a['ko'] != $b['ko'] )
     return ($a['ko'] <= $b['ko'] ) ? 1 : -1 ;
/*
am meisten punkte
am meisten eli
am meisten ko
*/
}

uasort ($prd, 'cmp');

print_r($prd);

?>

Gruß
  Christian



php::bar PHP Wiki   -   Listenarchive