Home  >  Article  >  Backend Development  >  How to delete a certain value in a two-dimensional array in php

How to delete a certain value in a two-dimensional array in php

PHPz
PHPzOriginal
2023-04-20 10:14:46641browse

PHP is a scripting language widely used in Web development. Many Web applications are developed based on PHP. In PHP development, array operations are often involved, and deleting a certain value in an array is also one of the common operations. This article will introduce how to delete a certain value in a two-dimensional array in PHP.

First, let’s take a look at the basic operations of arrays in PHP.

  1. Create an array
    Creating an array in PHP can be accessed using the following two forms:
$arr = array('a', 'b', 'c');

and

$arr = ['a', 'b', 'c'];
  1. Array elements
    You can access array elements through subscripts. The subscripts start counting from 0. The example is as follows:
$arr = ['a', 'b', 'c'];
echo $arr[0]; // 输出 a
  1. Traverse the array
    There are many ways to traverse the array in PHP , the most common is to use a foreach loop, the example is as follows:
$arr = ['a', 'b', 'c'];
foreach ($arr as $value) {
  echo $value . ' ';
}

The output result is:

a b c

The above is the basic operation of arrays in PHP. Next, let’s look at deleting two-dimensional Method for a value in an array.

To delete a certain value in a two-dimensional array, you can use the unset() function. If you want to delete a certain value in a one-dimensional array, you can use the unset() function directly. However, there are two ways to delete a certain value in a two-dimensional array, namely traversal and array_map() function.

  1. Traversal implementation

Traverse the array and delete it using the unset() function. The example is as follows:

$arr = [
    ['name' => 'Amy', 'age' => 20],
    ['name' => 'Bob', 'age' => 22],
    ['name' => 'Cathy', 'age' => 18]
];

foreach ($arr as $key => $value) {
    if ($value['name'] == 'Bob') {
        unset($arr[$key]);
    }
}

print_r($arr);

Execute the above code and the output result is:

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

    [2] => Array
        (
            [name] => Cathy
            [age] => 18
        )

)

By traversing the two-dimensional array, find the element to be deleted, delete it using the unset() function, and finally output the remaining array.

  1. array_map() function implementation

The array_map() function can return each element of one or more arrays after being processed by a callback function. Use it to find the element to be deleted first, and then process and return the remaining array. The example is as follows:

$arr = [
    ['name' => 'Amy', 'age' => 20],
    ['name' => 'Bob', 'age' => 22],
    ['name' => 'Cathy', 'age' => 18]
];

$name = 'Bob';

$arr = array_map(function($value) use ($name) {
    if ($value['name'] == $name) {
        return null;
    }
    return $value;
}, $arr);

$arr = array_filter($arr, function($value) {
    return $value !== null;
});

print_r($arr);

Execute the above code, and the output result is:

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

    [2] => Array
        (
            [name] => Cathy
            [age] => 18
        )

)

In the above code example, the array_map() function is used. First, pass $name to the callback function through the use keyword, find the element to be deleted, and return null. Then, use the array_filter() function to filter out null elements and get the remaining array.

Summary: To delete a certain value in a two-dimensional array in PHP, you can use the unset() function or the array_map() function. Whichever method is used can be used to process two-dimensional arrays, and you can choose according to the actual usage scenario.

The above is the detailed content of How to delete a certain value in 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