How to Delete an Element from an Array in PHP


Use the PHP unset() Function

If you want to delete an element from an array you can simply use the unset() function.

The following example shows how to delete an element from an associative array and numeric array.

$arr1 = array("a" => "Apple", "b" => "Ball", "c" => "Cat");
// RESULT: array("a" => "Apple", "c" => "Cat")
$arr2 = array(1, 2, 3);
// RESULT: array(0 => 1, 2 => 3)

If you see the above example carefully you will find that the unset() function didn't reindex the array after deleting the value from the numeric array (line no-8). To fix this you can use the array_splice() function. It takes three parameters: an array, offset (where to start), and length (number of elements to be removed). Let's see how it actually works:

$arr = array(1, 2, 3);
array_splice($arr, 1, 1);
// RESULT: array(0 => 1, 1 => 3)