How to remove all occurrences of a value in array of integers with PHP

2 Answers

0 votes
function removeElements($arr, $value) {
    $index = 0;
    
    foreach ($arr as $item) {
        if ($item != $value) {
            $arr[$index++] = $item;
        }
    }
    
    return array_slice($arr, 0, $index);
}

$array = [1, 3, 8, 23, 8, 99, 8, 100, 7];
$value = 8;

$array = removeElements($array, $value);

print_r($array);

echo implode(", ", $array) . "\n";



/*
run:

Array
(
    [0] => 1
    [1] => 3
    [2] => 23
    [3] => 99
    [4] => 100
    [5] => 7
)
1, 3, 23, 99, 100, 7

*/

 



answered Apr 24, 2024 by avibootz
0 votes
$array = [1, 3, 8, 23, 8, 99, 8, 100, 7];
$value = 8;

$array_del = array($value);

$array = array_values(array_diff($array, $array_del));

print_r($array);

echo implode(", ", $array) . "\n";



/*
run:

Array
(
    [0] => 1
    [1] => 3
    [2] => 23
    [3] => 99
    [4] => 100
    [5] => 7
)
1, 3, 23, 99, 100, 7

*/

 



answered Apr 24, 2024 by avibootz

Related questions

...