[Php-it] Ordinare un array :-|

petdog petdog at gmail.com
Fri Jun 2 22:54:36 CEST 2006


On 6/2/06, Massy wrote:
> Sto impicciandomi su una cosa che sicuramente sarà una stupidata...
>
> ho un array con questi valori:
>
>  $arr[0]=>2
>  $arr[1]=>2
>  $arr[2]=>5
>  $arr[3]=>2
>  $arr[4]=>2
>  $arr[5]=>9
>  $arr[6]=>2
>  $arr[7]=>11
>  $arr[8]=>2
>  $arr[9]=>15
>
> devo ottenere
>
>
>  $arr[0]=>2
>  $arr[1]=>2
>  $arr[2]=>5
>  $arr[3]=>5
>  $arr[4]=>5
>  $arr[5]=>9
>  $arr[6]=>9
>  $arr[7]=>11
>  $arr[8]=>11
>  $arr[9]=>15
>
> (spero si capisca: se ho un valore più piccolo di quello precedente devo
> portarlo a quello).
>
> Chi mi da un aiuto per uscire da sto giro di cicli che sto costruendo? :-D
>
> DEVE esserci un modo per farlo senza creare 5-6 cicli, no? :-|

A quanto ho capito non devi ordinare, ma solo "aggiustare" con il
metodo che hai descritto, giusto?

Allora mi sembra che basti un:
$peak = 0;
for ($key = 0; $arr[$key];  $key++) {
    if ($arr[$key] < $peak) $arr[$key] = $peak;
    else $peak = $arr[$key];
}


Spero di non aver detto la cazzata del giorno :P


More information about the Php-it mailing list