Ok adesso gestisce le "parità".

Da questo array

Array
(
[0] => 30
[1] => 30
[2] => 10
[3] => 10
[4] => 50
)

si arriva a questo:

Array
(
[0] => 4
[1] => 0
[2] => 1
[3] => 2
[4] => 3
)

però io non voglio che me le metta in questo ordine. Cioè in questo caso ci sono 2 parità: fra lo 0 e l'1 e fra il 2 e il 3 e nell'ordinamento mi mette lo 0 prima dell'1 e il 2 prima del 3.
Io vorrei invece che in questi casi facesse riferimento a un terzo array $b che contiene anch'esso tanti elementi quanti quelli di $a.
E quindi per decidere chi mettere prima fra 0 e 1 andasse a vedere $b[0] e $b[1] e mettesse prima il min($b[0],$b[1]) e lo stesso fra il 2 e il 3.
Bisogna considerare che possono essere fino a 5 elementi in "parità". E se sono 5 bisogna sempre far riferimento ai valori di $b. [A parità ancora di $b allora va bene l'ordine naturale cioè 1 precede 2 che precede 3 e così via...]
Mi sono spiegato?