Home >Backend Development >PHP Problem >Is it useful to delete array elements in php?

Is it useful to delete array elements in php?

WBOY
WBOYOriginal
2022-09-20 16:22:411838browse

PHP is useful for deleting array elements. There are many ways to delete array elements: 1. Use the unset() method to delete an element in the array, the syntax is "unset($array[key name]);"; 2. Use the "array_splice()" method to delete an array element, the syntax "array_splice(array, starting position of deleted elements, number of deleted elements)"; 3. Use the "array_diff()" method to delete multiple array elements, the syntax is "array_diff(array, deleted elements)".

Is it useful to delete array elements in php?

The operating environment of this article: Windows 10 system, PHP version 8.1, Dell G3 computer

Is it useful to delete array elements in php

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 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. If If you want to reorder other keys, you can use array_values().

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

Output result:

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

array_splice() method

If you use the array_splice() method, the key of the array The index will be automatically re-indexed, but it will not work for associative arrays. You 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);
?>

Output result:

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

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 unset() or array_splice () function, you need to use the array_diff() or array_diff_key() method. To use this method, you need to know 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 );
?>

The output result is:

Array
(
    [1] => b
)

array_diff_key() method

If you know the key of the array element to be deleted (key), 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);
?>

The output result is:

Array (
    [1] => b
)

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of Is it useful to delete array elements 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