dcp3450 dcp3450 - 5 months ago 20
PHP Question

PHP: How to remove specific element from an array?

How do I remove an element from an array when I know the elements name? for example:

I have an array:

$array = (apple, orange, strawberry, blueberry, kiwi);


the user enters
strawberry


strawberry
is removed.

To fully explain:

I have a database that stores a list of items separated by a comma. The code pulls in the list based on a user choice where that choice is located. So, if they choose strawberry they code pulls in every entry were strawberry is located then converts that to an array using split(). I want to them remove the user chosen items, for this example strawberry, from the array.

Answer

Use array_search to get the key and remove it with unset if found:

if (($key = array_search('strawberry', $array)) !== false) {
    unset($array[$key]);
}

array_search returns false (null until PHP 4.2.0) if no item has been found.

And if there can be multiple items with the same value, you can use array_keys to get the keys to all items:

foreach (array_keys($array, 'strawberry') as $key) {
    unset($array[$key]);
}