php是一种广泛应用于web开发的脚本语言,很多web应用都是基于php开发的。在php开发中,对于数组操作也是经常涉及到的,删除数组中的某一值也是常见的操作之一。本文将介绍在php中删除二维数组中某一值的方法。
首先,我们先来看一下PHP中数组的基本操作。
- 创建一个数组
在PHP中创建一个数组可以使用以下两种形式:
$arr = array('a', 'b', 'c');和
$arr = ['a', 'b', 'c'];
- 访问数组元素
可以通过下标访问数组元素,下标从0开始计数,示例如下:
$arr = ['a', 'b', 'c']; echo $arr[0]; // 输出 a
- 遍历数组
PHP中有多种遍历数组的方式,最常见的是使用foreach循环,示例如下:
$arr = ['a', 'b', 'c'];
foreach ($arr as $value) {
echo $value . ' ';
}输出结果为:
a b c
上述是PHP中数组的基本操作,接下来我们来看删除二维数组中某一值的方法。
立即学习“PHP免费学习笔记(深入)”;
删除二维数组中某一值可以使用unset()函数。如果想要删除一维数组中某一值,可以直接使用unset()函数。但是对于二维数组中删除某一值,有两种方法实现,分别是遍历和array_map()函数。
- 遍历实现
遍历数组,利用unset()函数删除,示例如下:
$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);执行上述代码,输出结果为:
Array
(
[0] => Array
(
[name] => Amy
[age] => 20
)
[2] => Array
(
[name] => Cathy
[age] => 18
)
)通过遍历二维数组,找到要删除的元素,并使用unset()函数删除它,最后输出剩余的数组。
- array_map()函数实现
array_map()函数可以将一个或多个数组的每个元素,都经过一个回调函数处理后返回。使用它可以先找到要删除的元素,再处理返回剩余的数组。示例如下:
$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);执行上述代码,输出结果为:
Array
(
[0] => Array
(
[name] => Amy
[age] => 20
)
[2] => Array
(
[name] => Cathy
[age] => 18
)
)上述代码示例中,使用了array_map()函数。首先,通过use关键字将$name传递给回调函数,找到要删除的元素,并返回null。然后,使用array_filter()函数过滤掉null元素,得到剩余的数组。
总结:在PHP中删除二维数组中的某一值可以使用unset()函数或者array_map()函数。使用哪种方式都可以实现对二维数组的处理,根据实际使用场景进行选择即可。











