How to Delete an Element from an Array in PHP
Topic: PHP / MySQLPrev|Next
Answer: 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.
Example
Try this code »<?php
$arr1 = array("a" => "Apple", "b" => "Ball", "c" => "Cat");
unset($arr1["b"]);
// RESULT: array("a" => "Apple", "c" => "Cat")
$arr2 = array(1, 2, 3);
unset($arr2[1]);
// 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:
Example
Try this code »<?php
$arr = array(1, 2, 3);
array_splice($arr, 1, 1);
// RESULT: array(0 => 1, 1 => 3)
?>
Related FAQ
Here are some more FAQ related to this topic: