PHP 5+ provides the built-in function array_diff_key() which can be used to delete a certain key from an array. Although I’m not proud of it, some of our customers’ sites are still running versions prior to PHP 5. This is how we delete a specific key from an array in PHP 4+ (4.3).
Let’s say that I have an array which contains the following:
$my_array = array(“key1″=> “apple”, “key2” => “orange”, “key3” => “banana”);
If I wanted to remove the key “key1”, and it’s associated value from the array, there is an array function array_diff_assoc() in PHP 4.3+ which compares 2 arrays, and deletes any key/value combinations from the first array which are present in the second, and returns the resulting array. The problem is, that the key & value must be the same in both arrays. This is the statement we used to delete the desired key:
$my_new_array = array_diff_assoc($my_array,array(“key1″=> $my_array[“key1”]));
Because we are reading the value of the key, from the desired array, we can be assured that the key/value combinations will match in both arrays, and the result will be a returned array, matching the original $my_array, but with “key1” => “apple” removed!
You could also create a function to accomplish this:
function array_remove_key($target_array, $key){
return array_diff_assoc($target_array,array($key => $target_array[$key]));
}