Home >Backend Development >PHP Problem >php delete two-dimensional array

php delete two-dimensional array

王林
王林Original
2023-05-23 10:24:36508browse

In PHP development, it is often necessary to operate on arrays, including deleting array elements. The deletion operation of two-dimensional arrays is also very common in practical applications. This article will explore how to delete elements from a two-dimensional array in PHP.

  1. unset() function

PHP’s built-in unset() function is a method to delete array elements. It can delete elements from one-dimensional arrays and multi-dimensional arrays, and it also works with two-dimensional arrays in PHP. The following is a simple example that demonstrates how to use the unset() function to delete elements of a two-dimensional array:

$arr1 = array(
    array("John", "Smith"),
    array("Jane", "Doe"),
    array("Jim", "Johnson")
);

unset($arr1[1]); //删除第二组元素

print_r($arr1);

The output result is as follows:

Array
(
    [0] => Array
        (
            [0] => John
            [1] => Smith
        )

    [2] => Array
        (
            [0] => Jim
            [1] => Johnson
        )

)

In the above example, we defined a The two-dimensional array $arr1 includes three elements, each element is an embedded array. We removed the second element using the unset() function and then printed the remaining elements using the print_r() function.

It should be noted that when using the unset() function to delete array elements, the key names of other elements will not change. That is, if you delete an array element, the element's key still exists, but its value will be deleted.

  1. array_splice() function

array_splice() function is another method provided by PHP to delete array elements. Unlike the unset() function, the array_splice() function can delete the element at the specified position and retain the key names of other elements. Here is an example:

$arr2 = array(
    array("John", "Smith"),
    array("Jane", "Doe"),
    array("Jim", "Johnson")
);

array_splice($arr2, 1, 1); //删除第二组元素

print_r($arr2);

The output is as follows:

Array
(
    [0] => Array
        (
            [0] => John
            [1] => Smith
        )

    [1] => Array
        (
            [0] => Jim
            [1] => Johnson
        )

)

In the above example, we used the array_splice() function to delete the second element, which is "Jane" and "Doe" . The first parameter of the function is the array that needs to be modified, the second parameter is the starting position of the element that needs to be deleted, and the third parameter is the number of elements that need to be deleted.

It should be noted that the array_splice() function can not only be used to delete elements, but also to insert and replace elements.

  1. array_diff() function

array_diff() function is a function provided by PHP for comparing the difference between two arrays. It returns elements that are present in the first array but not in the second array. Therefore, if we want to delete an element in a two-dimensional array, we can also use the array_diff() function. The following is an example:

$arr3 = array(
    array("John", "Smith"),
    array("Jane", "Doe"),
    array("Jim", "Johnson")
);

$remove = array("Jane", "Doe");
$newArr = array_diff($arr3, array($remove));

print_r($newArr);

The output is as follows:

Array
(
    [0] => Array
        (
            [0] => John
            [1] => Smith
        )

    [1] => Array
        (
            [0] => Jim
            [1] => Johnson
        )

)

In the above example, we defined a two-dimensional array $arr3 and specified the elements that need to be deleted. Then we used the array_diff() function and got a new array $newArr without deleted elements. It should be noted that when using the array_diff() function, we need to put the elements to be deleted into a new array and pass it to the function as the second parameter.

Summary

There are many ways to delete elements in a two-dimensional array in PHP. In addition to the unset() function, array_splice() function and array_diff() function introduced above, there are some other ways, such as using foreach loop and array_filter() function. In actual applications, developers can choose the most suitable method to complete the array element deletion operation based on specific needs and usage habits.

The above is the detailed content of php delete two-dimensional 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