在一些特殊情况下,你需要删除数组中的特定值,而且要全部删除,其实方法有很多种,我们通过本文来进行讨论。

一、利用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删除数组中指定值的元素的几种方法相关推荐

  1. php 取出多重数组中的一列_PHP获取数组中指定的一列实例

    对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现: $arr = array( array( 'id ...

  2. 删除数组中某个指定元素或删除数组中某个对象元素

    ES6--删除数组中某个指定元素或删除数组中某个对象 1.删除数组中某个指定元素 2.删除数组中的某个对象 1.删除数组中某个指定元素 let index = this.array.indexOf(n ...

  3. 根据数组中的某个键值大小进行排序,仅支持二维数组

    /**     * 根据数组中的某个键值大小进行排序,仅支持二维数组     *     * @param array $array 排序数组     * @param string $key 键值 ...

  4. php 二维数组中去重,[转]PHP二维数组去重数组去重

    PHP中提供了array_unique函数去除一维数组中的重复项,但是我们实际的项目开发中,从数据库select查询出来的数组经常是二维的: 这里面可能有重复项,这就需要我们自己定义函数进行去除重复项 ...

  5. vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...

    从一个数组中取部分值生成新数组,要实现此需求通常都是采用循环的方法来完成,那有没有更简易的思路呢? 借用jscript可以实现,直接取值,不用循环.例如从100000万中元素是取8000个值出来生成新 ...

  6. C语言向有序数组中插入一个数使该数组仍保持有序

    C语言向有序数组中插入一个数使该数组仍保持有序 #include<stdio.h> int main() {     int n,i,j,t,k;     printf("您喜欢 ...

  7. 2021.04.06JAVA定义一个数组,随便输入一个数字,判断这个数在数组中是否存在,存在返回数组的下标,否则返回-1

    定义一个数组,随便输入一个数字,判断这个数在数组中是否存在,存在返回数组的下标,否则返回-1 public class TestD {public static void main(String[] ...

  8. 取原始数组中的指定数据push新数组

    <!DOCTYPE html> <html><head><meta charset="utf-8"><title>取原始 ...

  9. asp数组中REDIM的用法(动态数组)

    asp数组中REDIM的用法(动态数组) 动态数组里面的一个语句,只能出现在过程里面,可以多次使用.可以改变数组大小,和维数 格式: REDIM [Preserve] 数组名(下标1[下标2....] ...

最新文章

  1. 推荐开发工具系列之--FireGestures(火狐手势命令)
  2. POJ2513Colored Sticks(欧拉路加字典树)
  3. harbor安装_Harbor镜像仓库搭建
  4. css 剪辑图片_CSS clip:rect 矩形剪裁功能,截取图片某一块
  5. OCR识别缺点_福利:OCR大全
  6. ASP.NET实现下载的中文文件名乱码处理
  7. python 定义函数为什么有个长线_关于格式化:如何在Python中打破这条长线?
  8. SQL Server2008附加数据库失败
  9. Win10系统添加 Win10 LTSC2019闹钟
  10. 初识python多线程
  11. python定义集合_Python - 集合
  12. flex布局实现叠在另一个div之上_CSS3 flex弹性伸缩布局[上]
  13. springboot系列二、springboot项目搭建
  14. Oracle表连接方式总结
  15. macOS Catalina 10.15.7 ISO/CDR 虚拟机镜像下载
  16. 2019中兴笔试选择题
  17. Apollo详解之canbus模块——车辆底层协议调试
  18. 小微风控之财务评分模型的制定与应用
  19. .NET获取微信openid
  20. Java测试框架系列:Mockito 详解:第三部分:结果验证

热门文章

  1. java memcachedclient_Java memcached client怎样建立长连接
  2. 轻量级姿态估计simplepose
  3. pycharm不进入test模式
  4. PyTorch 训练加速
  5. pytorch多维筛选
  6. 深度学习: mAP (Mean Average Precision)
  7. 找到一个或多个多重定义的符号
  8. Windows7-win10开启IPv6亲测最有效方法
  9. PMP-【第12章 项目采购管理】-2021-2-17(252页-274页)
  10. c语言循环设计思想结构,C语言程序设计_05循环结构程序设计讲述.pptx