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

How to remove elements from array in php

王林
王林Original
2021-05-12 15:52:023645browse

The way PHP removes elements from an array is to use the unset function to remove array elements, such as [unset($array[index]);]. After the element is deleted, the original index remains unchanged.

How to remove elements from array in php

The operating environment of this article: windows10 system, php 7.3, thinkpad t480 computer.

We can remove elements from the array through the four methods given below. Please see the code below for details.

Delete an element and keep the original index unchanged

You can 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
)

You can also use unset without changing 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);
/*

Output

array(2) {
 [0]=>
 string(1) "a"
 [1]=>
 string(1) "c"
}
*/

Delete an element without keeping the index

You can 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

You can also use the array_diff function, An 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.

Delete multiple elements by 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 Keep the index.

Free learning video sharing: Introduction to programming

The above is the detailed content of How to remove elements from array in php. 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
Previous article:How to use php error logNext article:How to use php error log