How to remove the element from an array by value in PHP
To remove the element from an array by value, we can use the combination of array_search() and unset() functions in PHP.
Here is an example, that removes the second element "green" from the colors array by value.
<?php
$colors = array("red", "green", "yellow", "orange");
if (($key = array_search("green", $colors)) !== false) {
unset($colors[$key]);
}
print_r($colors)
?>Output:
Array
(
[0] => red
[2] => yellow
[3] => orange
)The unset() function doesn’t re-index the array keys, if you want to re-index it then you can use the array_values() function after unset().
<?php
$colors = array("red", "green", "yellow", "orange");
if (($key = array_search("green", $colors)) !== false) {
unset($colors[$key]);
}
print_r(array_values($colors))
?>Similarly, we can also use the array_diff() function like this to remove it.
$colors = array("red", "green", "yellow", "orange");
$newArray = array_diff($colors, array("green"));
print_r($newArray)You can also use the array_diff() function to remove multiple elements by using value.
$colors = array("red", "green", "yellow", "orange");
$newArray = array_diff($colors, array("green", "yellow"));
print_r($newArray)Note: The
array_diff()function creates a new array by preserving the original array, where the first solution modifies the original array.


