php根据键值去除数组中的某个元素_php删除数组中指定值的元素的几种方法
在一些特殊情况下,你需要删除数组中的特定值,而且要全部删除,其实方法有很多种,我们通过本文来进行讨论。
一、利用foreach和unset()函数删除数组中的特定元素
foreach($array as $k=>$v){
if($v == 'day'){
unset($array[$k]):
}
}
unset()函数即删除指定的数组值。
二、利用array_flip()函数和unset()函数删除数组中的特定值
$arr = array_flip($arr);
unset($arr['world']);
$arr = array_flip($arr);
print_r($arr);
array_flip()是一个反转函数,将数组原来的键名变为键值,把键值变为键名,这样上面的操作就很容易理解了。
三、利用array_search()和unset()函数删除数组中的特定值
if(($key = array_search('day',$arr))){
unset($arr[$key]);
}
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
四、array_splice()函数可以与unset()函数起到相同作用
if(($key = array_search('day',$arr))){
array_splice($arr, $key,1);
}
array_splice()有四个参数,用法请看这里。
五、array_unique()让这个特定值在数组中一个不留
注意:上面的所有操作只是删除了数组中第一个和你给定的值相同的元素,之后的元素即使和你给定的值相等,却没有被删除!
在进行上面所有的代码操作之前,先进行array_unique($array)的操作,将数组中的重复值进行合并删除,再进行上面的删除,让数组中的重复值一个不留。
六、只删除特定值对应的键值,不动其他值
五中导致删除特定值的同时,也将其他无关的值合并了,那么不要动其他值怎么办?重复执行上面一~四的操作即可,获取数组长度,用一个for循环即可,当然这是最笨的办法~~
获取数组长度的函数是count($arr)
for(count($arr))if($key = array_search('day',$arr))array_splice($arr,$key,1);
php根据键值去除数组中的某个元素_php删除数组中指定值的元素的几种方法相关推荐
- php 取出多重数组中的一列_PHP获取数组中指定的一列实例
对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现: $arr = array( array( 'id ...
- 删除数组中某个指定元素或删除数组中某个对象元素
ES6--删除数组中某个指定元素或删除数组中某个对象 1.删除数组中某个指定元素 2.删除数组中的某个对象 1.删除数组中某个指定元素 let index = this.array.indexOf(n ...
- 根据数组中的某个键值大小进行排序,仅支持二维数组
/** * 根据数组中的某个键值大小进行排序,仅支持二维数组 * * @param array $array 排序数组 * @param string $key 键值 ...
- php 二维数组中去重,[转]PHP二维数组去重数组去重
PHP中提供了array_unique函数去除一维数组中的重复项,但是我们实际的项目开发中,从数据库select查询出来的数组经常是二维的: 这里面可能有重复项,这就需要我们自己定义函数进行去除重复项 ...
- vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...
从一个数组中取部分值生成新数组,要实现此需求通常都是采用循环的方法来完成,那有没有更简易的思路呢? 借用jscript可以实现,直接取值,不用循环.例如从100000万中元素是取8000个值出来生成新 ...
- C语言向有序数组中插入一个数使该数组仍保持有序
C语言向有序数组中插入一个数使该数组仍保持有序 #include<stdio.h> int main() { int n,i,j,t,k; printf("您喜欢 ...
- 2021.04.06JAVA定义一个数组,随便输入一个数字,判断这个数在数组中是否存在,存在返回数组的下标,否则返回-1
定义一个数组,随便输入一个数字,判断这个数在数组中是否存在,存在返回数组的下标,否则返回-1 public class TestD {public static void main(String[] ...
- 取原始数组中的指定数据push新数组
<!DOCTYPE html> <html><head><meta charset="utf-8"><title>取原始 ...
- asp数组中REDIM的用法(动态数组)
asp数组中REDIM的用法(动态数组) 动态数组里面的一个语句,只能出现在过程里面,可以多次使用.可以改变数组大小,和维数 格式: REDIM [Preserve] 数组名(下标1[下标2....] ...
最新文章
- 推荐开发工具系列之--FireGestures(火狐手势命令)
- POJ2513Colored Sticks(欧拉路加字典树)
- harbor安装_Harbor镜像仓库搭建
- css 剪辑图片_CSS clip:rect 矩形剪裁功能,截取图片某一块
- OCR识别缺点_福利:OCR大全
- ASP.NET实现下载的中文文件名乱码处理
- python 定义函数为什么有个长线_关于格式化:如何在Python中打破这条长线?
- SQL Server2008附加数据库失败
- Win10系统添加 Win10 LTSC2019闹钟
- 初识python多线程
- python定义集合_Python - 集合
- flex布局实现叠在另一个div之上_CSS3 flex弹性伸缩布局[上]
- springboot系列二、springboot项目搭建
- Oracle表连接方式总结
- macOS Catalina 10.15.7 ISO/CDR 虚拟机镜像下载
- 2019中兴笔试选择题
- Apollo详解之canbus模块——车辆底层协议调试
- 小微风控之财务评分模型的制定与应用
- .NET获取微信openid
- Java测试框架系列:Mockito 详解:第三部分:结果验证
热门文章
- java memcachedclient_Java memcached client怎样建立长连接
- 轻量级姿态估计simplepose
- pycharm不进入test模式
- PyTorch 训练加速
- pytorch多维筛选
- 深度学习: mAP (Mean Average Precision)
- 找到一个或多个多重定义的符号
- Windows7-win10开启IPv6亲测最有效方法
- PMP-【第12章 项目采购管理】-2021-2-17(252页-274页)
- c语言循环设计思想结构,C语言程序设计_05循环结构程序设计讲述.pptx