Originariamente inviato da mld
Non è che sono confuso...è che non mi sono spiegato bene....
Vedi:
$a[1]=5;
$a[2]=4;
$a[3]=7;
$a[4]=2;
$a[5]=6;
$a[6]=9;
io vorrei che $a_ordinate fosse così:
$a_ordinato[1]=6
$a_ordinato[2]=3
$a_ordinato[3]=5
$a_ordinato[4]=1
$a_ordinato[5]=2
$a_ordinato[6]=4
$a_ordinato[1] vale 6 perché $a[6] ha il valore più alto (9);
$a_ordinato[2] vale 3 perchè $a[3] ha il secondo valore più alto (7);
$a_ordinato[3] vale 5 perché $a[5] ha il terzo valore più alto (6);
ok?
Codice PHP:
<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? 1 : -1;
}
$array = array(1=>5,4,7,2,6,9);
uasort($array,"cmp");
$ordinato =array_flip($array);
$ordinato = array_reverse(array_reverse($ordinato));
print_r($ordinato);
?>