How to move all zeros in int array to the end with PHP

1 Answer

0 votes
function move_zeros_to_end(&$arr) {
    $j = 0; 
    $len = sizeof($arr);

    for ($i = 0; $i < $len; $i++) {
        if ($arr[$i] != 0) {
            $arr[$j++] = $arr[$i];
        }
    }

    while ($j < $len) {
        $arr[$j++] = 0;
    }
}

$arr = array(0, 3, 4, 0, 6, 0, 0, 8, 9, 0);

move_zeros_to_end($arr);

for ($i = 0; $i < sizeof($arr); $i++) {
    echo $arr[$i] . " ";
}


/*
run:

3 4 6 8 9 0 0 0 0 0 

 */

 



answered Feb 25, 2019 by avibootz

Related questions

1 answer 157 views
1 answer 154 views
1 answer 158 views
1 answer 165 views
2 answers 207 views
1 answer 133 views
2 answers 169 views
...