A me usort() funziona perfettamente:

Codice PHP:
<?php 
$array 
= array(4143040);

function 
cmp($a$b) {
    if (
$a == $b) {
       return 
0;
    } elseif ((
$a 20) && ($b 20)) {
        return (
$a $b) ? -1;
    } elseif ((
$a 20) && ($b 20)) {
        return (
$a $b) ? -1;
    } elseif (
$a 20) {
        return -
1;
    } else {
        return 
1;
    }
}

usort($array"cmp");

print_r($array);
?>