Ho fatto un piccolo algoritmo di ordinamento (non è del tutto ottimizzato e non è mio scopo).

Codice PHP:
<?php

$arr
=array(67,32,1,87,88,-3,123,565,-32,45,99,16,78,43,-638,33,61,90,0,12);

print 
"Inizio:
"
;
print_r($arr);
print 
"
"
;

$Change   false;
$Continue true;
$Count    count($arr);
$i 0;
while (
$Continue) {
    if (
$i >= $Count-1) {
        
$i 0;
        if (
$Change == false) {
            
$Continue false;
        }
        
$Change false;
        
//print "risultato :
";
        //print_r(
$arr);
        //print "
";
        
    } 

        if (
$arr[$i] > $arr[$i+1]) {
            
$Temp      = $arr[$i];
            
$arr[$i]   = $arr[$i+1];
            
$arr[$i+1] = $Temp;
            
$Change    = true;
        }
    
    
$i++;
    
}

print "
Fine:
";
print_r(
$arr);
print "
";
?>

codice:
Inizio:
Array ( [0] => 67 [1] => 32 [2] => 1 [3] => 87 [4] => 88 [5] => -3 [6] => 123 [7] => 565 [8] => -32 [9] => 45 [10] => 99 [11] => 16 [12] => 78 [13] => 43 [14] => -638 [15] => 33 [16] => 61 [17] => 90 [18] => 0 [19] => 12 ) 
Fine:
Array ( [0] => -638 [1] => -32 [2] => -3 [3] => 0 [4] => 1 [5] => 12 [6] => 16 [7] => 32 [8] => 33 [9] => 43 [10] => 45 [11] => 61 [12] => 67 [13] => 78 [14] => 87 [15] => 88 [16] => 90 [17] => 99 [18] => 123 [19] => 565 )