今天小编给大家分享一下php如何删除指定k键的键值对的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
unset函数
PHP中可以使用unset函数删除数组中的指定元素。unset函数可以接受一个或多个参数,每个参数代表一个元素。我们只需要传递要删除的元素的键名作为参数即可删除该元素,示例如下:
<?php // 定义一个关联数组 $arr = array('name'=>'Tom', 'age'=>20, 'gender'=>'male'); // 删除gender项 unset($arr['gender']); print_r($arr); // 输出结果:Array([name] => Tom [age] => 20) ?>
array_splice函数
PHP中还可以使用array_splice函数删除指定键名的值。该函数可以从一个数组中删除元素并重新排列数组,同时返回一个包含删除元素的数组。如果删除一个元素后要保留该元素在数组中的位置,我们可以将该元素替换为null。示例如下:
<?php // 定义一个关联数组 $arr = array('name'=>'Tom', 'age'=>20, 'gender'=>'male'); // 删除gender项 array_splice($arr,array_keys($arr,array_search('male',$arr)),1); print_r($arr); // 输出结果:Array([name] => Tom [age] => 20) ?>
array_filter函数
如果我们想删除数组中指定的键值对,并且保留其余的元素,我们可以使用array_filter函数。array_filter函数可以接受一个数组作为参数,并根据指定的回调函数过滤数组元素,返回一个新的数组。我们只需要编写一个回调函数,在回调函数中排除指定的元素即可。示例如下:
<?php // 定义一个关联数组 $arr = array('name'=>'Tom', 'age'=>20, 'gender'=>'male'); // 删除gender项 $arr = array_filter($arr, function($key){ return $key != 'gender';}, ARRAY_FILTER_USE_KEY); print_r($arr); // 输出结果:Array([name] => Tom [age] => 20) ?>