How to remove a key and its value from an associative array in PHP ?

Given an associative array containing array elements the task is to remove a key and its value from the associative array.

Examples:

Input : array( "name" => "Anand", "roll"=> "1")
Output : Array (
    [roll] => 1
)

Input : array( "1" => "Add", "2" => "Multiply", "3" => "Divide")
Output : Array (
    [2] => Multiply
    [3] => Divide
)

Table of Content

  • Using unset() function
  • Using array_diff_key() function
  • Using array_filter function

Using unset() function

The unset() function is used to unset a key and its value in an associative array.

Syntax:

void unset( $array_name['key_to_be_removed'] )

Program:

PHP
<?php

// Declare an associative array
$arr = array( 
    "1" => "Add",
    "2" => "Multiply",
    "3" => "Divide"
);

// Remove the key 1 and its value
// from associative array
unset($arr['1']);

// Display the array elements
print_r($arr);

?>

Output
Array
(
    [2] => Multiply
    [3] => Divide
)

Using array_diff_key() function

This function is used to get the difference between one or more arrays. This function compares the keys between one or more arrays and returns the difference between them.

Syntax:

array array_diff_key( $array_name, array_flip((array) ['keys_to_be_removed'] )

Program:

PHP
<?php

// Declare an associative array
$arr = array( 
    "1" => "a",
    "2" => "b",
    "3" => "c"
);

// Remove the key 1 and its value
// from associative array
$result = array_diff_key($arr, 
            array_flip((array) ['1']));

// Display the result
print_r($result);

?>

Output
Array
(
    [2] => b
    [3] => c
)

Using array_filter function

The array_filter function can be used to filter elements of an array using a callback function. This approach allows you to remove specific keys by returning false for those keys in the callback function.

Program:

PHP
<?php
// Nikunj Sonigara
// Declare an associative array
$arr = array(
    "1" => "Add", 
    "2" => "Multiply", 
    "3" => "Divide"
);

// Key to be removed
$keyToRemove = "1";

// Use array_filter to remove the key
$result = array_filter($arr, function($value, $key) use ($keyToRemove) {
    return $key != $keyToRemove;
}, ARRAY_FILTER_USE_BOTH);

// Display the result
print_r($result);

?>

Output
Array
(
    [2] => Multiply
    [3] => Divide
)

Contact Us