PHP删除数组中指定值的元素常用方法实例分析【4种方法】
发布:smiling 来源: PHP粉丝网 添加日期:2021-10-25 21:20:07 浏览: 评论:0
这篇文章主要介绍了PHP删除数组中指定值的元素常用方法,结合实例形式对比分析了4种常用的数组遍历与元素删除方法,并总结分析了相关算法优缺点,需要的朋友可以参考下。
本文实例讲述了PHP删除数组中指定值的元素,分享给大家供大家参考,具体如下:
测试数组如下:
- //这是一个测试数组
- $testArr = array(
- 't' => 'qq',
- 'q' => 'qq',
- 'b' => 'baidu',
- 'a' => 'ali',
- 'm' => 'xiaomi'
- );
方法一:
- //foreach遍历后unset删除,这种方法也是最容易想到的方法
- function delByValue($arr, $value){
- if(!is_array($arr)){
- return $arr;
- }
- foreach($arr as $k=>$v){
- if($v == $value){
- unset($arr[$k]);
- }
- }
- return $arr;
- }
测试:
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
运行结果:
- Array
- (
- [t] => qq
- [q] => qq
- [a] => ali
- [m] => xiaomi
- )
方法二:
- //array_flip之后unset,这种方法有一个弊端,就是反转后由于有两个键值都为qq,有一个数据将会丢失,所以在使用时请谨慎)
- function delByValue($arr, $value){
- $tempArr = array_flip($arr);
- unset($tempArr[$value]);
- return array_flip($tempArr);
- }
测试:
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
运行结果:
- Array
- (
- [q] => qq
- [a] => ali
- [m] => xiaomi
- )
方法三:
- //array_search,这种方法亦有弊端,array_search搜索到一个合适的值时便返回,所以在数组存在多个相关的值这种方法不适用)
- function delByValue($arr, $value){
- $key = array_search($value,$arr);
- if(isset($key)){
- unset($arr[$key]);
- }
- return $arr;
- }
测试:
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
运行结果:
- Array
- (
- [t] => qq
- [q] => qq
- [a] => ali
- [m] => xiaomi
- )
方法四:
- //使用array_keys搜索指定的值再循环unset)
- function delByValue($arr, $value){
- $keys = array_keys($arr, $value);
- var_dump($keys);
- if(!emptyempty($keys)){
- foreach ($keys as $key) {
- unset($arr[$key]);
- }
- }
- return $arr;
- }
测试:
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
运行结果:
- array(1) {
- [0]=>
- string(1) "b"
- }
- Array
- (
- [t] => qq
- [q] => qq
- [a] => ali
- [m] => xiaomi
- )
四种方法总结下来,真正比较可行的还是方法1和方法4了,至于这两种方法哪个更好,那就应该是具体情况具体分析了。
Tags: PHP删除数组 PHP删除元素
- 上一篇:PHP常见数组排序方法小结
- 下一篇:php实现有序数组旋转后寻找最小值方法
相关文章
- ·PHP删除数组重复元素函数(2014-08-16)
- ·php删除数组中重复值的代码(2014-09-18)
- ·php unset删除数组变量实现方法(2014-09-19)
- ·php 删除数组元素方法(2014-09-19)
- ·PHP删除数组元素与删除重复数组函数(2014-09-19)
- ·php删除数组中某个值元素(2014-09-20)
- ·PHP中unset,array_splice删除数组中的元素区别(2014-09-22)
- ·php删除数组中相同的元素,只保留一个相同元素(2014-09-22)
- ·PHP删除数组中指定值的元素常用方法实例分析(2018-10-13)
- ·php删除数组元素示例分享(2020-09-15)
- ·PHP删除数组中空值的方法介绍(2020-11-09)
- ·php使用unset()删除数组中某个单元(键)的方法(2021-05-14)
- ·php中删除数组的第一个元素和最后一个元素的函数(2021-05-15)
- ·php删除数组中重复元素的方法(2021-06-30)
- ·PHP删除数组中指定下标的元素方法(2021-09-02)
- ·PHP删除数组中特定元素的两种方法(2021-11-11)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)