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

How to delete elements from an array in php

藏色散人
Release: 2023-03-03 08:14:01
Original
2327 people have browsed it

php method to delete elements in an array: 1. Use the unset function to delete an element in the data, the syntax is "unset($array[1]);"; 2. Delete array elements through the "array_splice" function , the syntax is "array_splice($array, 1, 1);".

How to delete elements from an array in php

Recommended: "PHP Tutorial"

PHP Delete elements in an array

PHP There are many ways to delete elements in an array. Here are some common ways.

Delete an element in the data

If you want to delete an element in the array, you can use the unset() or array_splice() method.

If you know the value of an array element but not the key, you can use array_search() to get the key.

unset() method

Note that if you use the unset() method, it will not change other keys (keys). If you want to reorder other keys (keys) , you can use array_values().

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);
           //↑ 你要删除的数组元素值的键
print_r($array);
?>
Copy after login

Output result:

Array (
    [0] => a
    [2] => c
)
Copy after login

array_splice() method

If you use the array_splice() method, the keys of the array will be automatically re-indexed, but for associative arrays Doesn't work, need to use array_values() to convert the keys to numeric keys.

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);
                   //↑ Offset which you want to delete
print_r($array);
?>
Copy after login

Output result:

Array
(
    [0] => a
    [1] => c
)
Copy after login

array_splice() has the same effect as the unset() function in releasing the specified elements of the array.

Delete multiple elements in the array

If you want to delete multiple elements in the array, you cannot use the unset() or array_splice() function. You need to use array_diff() or array_diff_key() method, using this method requires knowing the key or value to be deleted.

array_diff() method

If you know the array element you want to delete, you can use array_diff().

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff($array, ["a", "c"]);
                          //└────────┘→你要删除的元素
print_r($array );
?>
Copy after login

The output result is:

Array
(
    [1] => b
)
Copy after login

array_diff_key() method

If you know the key (key) of the array element to be deleted, you can use array_diff_key(). You need to enter the key to be deleted in the key value position of the second parameter of the function. The value is not required and can be optional.

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

The output result is:

Array (
    [1] => b
)
Copy after login

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

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template