"Tom""/> "Tom"">

Home  >  Article  >  Backend Development  >  How to delete a subarray of a two-dimensional array in php

How to delete a subarray of a two-dimensional array in php

PHPz
PHPzOriginal
2023-04-20 15:07:24822browse

In PHP, two-dimensional arrays are often used. It consists of multiple subarrays, each of which is composed of multiple elements. If you need to delete data in a two-dimensional array, you can operate on the array. Below we will describe how to delete a two-dimensional array in PHP.

1. Use the unset() method to delete the entire sub-array

You can use the unset method to delete the sub-array in the entire two-dimensional array. You only need to pass in the key name of the array that needs to be deleted. . For example:

$arr = array(
   array("name"=>"Tom", "age"=>20),
   array("name"=>"Bob", "age"=>21),
   array("name"=>"Jack", "age"=>22)
);

unset($arr[1]); //删除键为1的子数组

print_r($arr);

The output result is as follows:

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 20
        )

    [2] => Array
        (
            [name] => Jack
            [age] => 22
        )

)

As can be seen from the result, the subarray with key 1 is successfully deleted.

2. Use the array_splice() method to delete a part of the sub-array

You can use the array_splice method to delete a part of the sub-array in the two-dimensional array. The first parameter of this method is the array that needs to be operated, the second parameter is the position where deletion starts, the third parameter is the number of elements to be deleted, and the fourth parameter is the element that needs to be inserted (optional). For example:

$arr = array(
   array("name"=>"Tom", "age"=>20),
   array("name"=>"Bob", "age"=>21),
   array("name"=>"Jack", "age"=>22)
);

array_splice($arr, 1, 1); //从位置1删除一个子数组

print_r($arr);

The output result is as follows:

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 20
        )

    [1] => Array
        (
            [name] => Jack
            [age] => 22
        )

)

As can be seen from the result, a subarray starting from position 1 is successfully deleted.

3. Use the foreach() method to delete elements in a subarray

You can use the foreach method to delete elements in a subarray. For example:

$arr = array(
   array("name"=>"Tom", "age"=>20),
   array("name"=>"Bob", "age"=>21),
   array("name"=>"Jack", "age"=>22)
);

foreach($arr as $key => $val){
   if($val["name"]=="Bob"){
      unset($arr[$key]["age"]); //删除子数组中的一个元素
   }
}

print_r($arr);

The output result is as follows:

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 20
        )

    [1] => Array
        (
            [name] => Bob
        )

    [2] => Array
        (
            [name] => Jack
            [age] => 22
        )

)

As can be seen from the result, all elements with the key "age" in the subarray have been successfully deleted.

Summary:

The above are three methods to delete two-dimensional arrays in PHP. Use the unset method to delete the entire subarray, use the array_splice method to delete a part of the subarray, and use the foreach method to delete elements in the subarray. Each method has its own application scenarios, and you can choose according to actual needs when using it.

The above is the detailed content of How to delete a subarray of a two-dimensional 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