A me usort() funziona perfettamente:
Codice PHP:<?php
$array = array(4, 14, 30, 40);
function cmp($a, $b) {
if ($a == $b) {
return 0;
} elseif (($a > 20) && ($b > 20)) {
return ($a < $b) ? -1 : 1;
} elseif (($a < 20) && ($b < 20)) {
return ($a > $b) ? -1 : 1;
} elseif ($a > 20) {
return -1;
} else {
return 1;
}
}
usort($array, "cmp");
print_r($array);
?>

Rispondi quotando