-2

For instance:

$array = ["a", "b", "c", "a", "a"];

I want to remove all "a" elements to get output:

$array = ["b", "c"];

Should also work for ints and floats.Thanks guys!

Nicholas Kajoh
  • 1,451
  • 3
  • 19
  • 28

2 Answers2

0

Use array_diff as defined below. You need make removed value as array and use simply the array diff to get the desired result.

$array = ["a", "b", "c", "a", "a"];

$arr = array_diff($array, array("a"));

print_r($arr); //Array ( [1] => b [2] => c )
Murad Hasan
  • 9,565
  • 2
  • 21
  • 42
0

Try this, It will work for ints, floats and strings..

$array = [1, "b", "c", 1, "a"];

foreach (array_keys($array,1) as $key) ////array_key return matched keys
{
   unset($array[$key]); ///remove value with key
}

print_r($array);

This will give you :

Array
(
    [1] => b
    [2] => c
    [4] => a
)
Manjeet Barnala
  • 2,975
  • 1
  • 10
  • 20