PHP数组中仅非零值的排序

TEC*_*MAN 1 php arrays

我只想对数组中那些不是 0 的值进行排序,并且所有 0 值键都应该在底部。所以例如如果我们的数组是这样的 -

array
{
    [0]=>4
    [1]=>0
    [2]=>2
    [3]=>0
    [4]=>3
}
Run Code Online (Sandbox Code Playgroud)

所以排序的数组我应该像下面这样

array
{
    [2]=>2
    [4]=>3
    [0]=>4
    [1]=>0
    [3]=>0
}
Run Code Online (Sandbox Code Playgroud)

Pio*_*ski 5

使用uasort()功能:

$arr = array(
    4, 0, 2, 0, 3
);

uasort($arr, function($a, $b){
    if ($a == 0) {
        return 1;
    }
    if ($b == 0) {
        return -1;
    }
    return ($a < $b) ? -1 : 1;
});

print_r($arr);
Run Code Online (Sandbox Code Playgroud)