php删除数组中指定值的元素的几种方法

发布时间:2020-11-11 10:44:07 作者:小新
来源:亿速云 阅读:174

这篇文章主要介绍php删除数组中指定值的元素的几种方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php array删除指定值的方法:1、通过foreach遍历后unset删除;2、使用array_flip方法进行删除;3、使用array_search方法进行删除;4、使用array_keys搜索指定的值再循环删除。

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;
}

方法二:

//array_flip之后unset,这种方法有一个弊端,就是反转后由于有两个键值都为qq,有一个数据将会丢失,所以在使用时请谨慎)
function delByValue($arr, $value){
$tempArr = array_flip($arr);
unset($tempArr[$value]);
return array_flip($tempArr);
}

方法三:

//array_search,这种方法亦有弊端,array_search搜索到一个合适的值时便返回,所以在数组存在多个相关的值这种方法不适用)
function delByValue($arr, $value){
$key = array_search($value,$arr);
if(isset($key)){
unset($arr[$key]);
}
return $arr;
}

方法四:

//使用array_keys搜索指定的值再循环unset)
function delByValue($arr, $value){
$keys = array_keys($arr, $value);
var_dump($keys);
if(!empty($keys)){
foreach ($keys as $key) {
unset($arr[$key]);
}
}
return $arr;
}

四种方法总结下来,真正比较可行的还是方法1和方法4了,至于这两种方法哪个更好,那就应该是具体情况具体分析了。

以上是php删除数组中指定值的元素的几种方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. Jquery根据指定值删除数组中的元素
  2. 如何删除php数组中的指定key值

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php array

上一篇:mac中如何才能删除php

下一篇:php安装mysqli扩展过程中可能出现的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》