Home >Backend Development >PHP Problem >How to delete a certain value in a two-dimensional array in php
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.
$arr = array('a', 'b', 'c');
and
$arr = ['a', 'b', 'c'];
$arr = ['a', 'b', 'c']; echo $arr[0]; // 输出 a
$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.
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.
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!