Home >Backend Development >PHP Problem >How to delete elements in php array

How to delete elements in php array

藏色散人
藏色散人Original
2021-03-02 09:15:222607browse

php Array method to delete elements: 1. Use the unset function to delete array elements; 2. Use the array_splice function to delete an element without keeping the index; 3. Use the array_diff function to delete multiple elements by value; 4. Use array_diff_key function to delete elements.

How to delete elements in php array

#The operating environment of this article: Windows 7 system, PHP version 7.1, Dell G3 computer.

Four ways to delete elements from an array in PHP

  • Delete an element while keeping the original index unchanged

Use the unset function, the example is as follows:

<?php
    $array = array(0 => "a", 1 => "b", 2 => "c");
    unset($array[1]);
               //↑ 你想删除的key
?>

Output:

Array (
    [0] => a
    [2] => c
)

Using unset does not change the original index of the array. If you plan to rearrange the index (so that the index starts from 0 and is continuous), you can use the array_values ​​function:

$array = array_values($array);
/*
输出
array(2) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "c"
}
*/
  • Delete an element without keeping the index

Use the array_splice function, the example is as follows:

<?php
    $array = array(0 => "a", 1 => "b", 2 => "c");
    array_splice($array, 1, 1);
                       //↑ 你想删除的元素的Offset
?>

Output:

Array (
    [0] => a
    [1] => c
)
  • Delete multiple elements by value, keeping the index

Use the array_diff function, the example is as follows:

<?php
    $array = array(0 => "a", 1 => "b", 2 => "c");
    $array = array_diff($array, ["a", "c"]);
                              //└────────┘→ 你想删除的数组元素值values
?>

Output:

Array (
    [1] => b
)

Similar to unset, array_diff will also keep the index.

[Recommended learning: "PHP Video Tutorial"]

  • Delete multiple elements by pressing the key and keep the index

Use the array_diff_key function, the example is as follows:

<?php
    $array = array(0 => "a", 1 => "b", 2 => "c");
    $array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
                                   //↑           ↑ 你想删除的数组键keys
?>

Output:

Array (
    [1] => b
)

Similar to unset, array_diff_key will also maintain the index.

The above is the detailed content of How to delete elements in php array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn