PHP根据key删除数组中指定的元素


Posted in PHP onFebruary 28, 2019

php数组中元素的存在方式是以键值对的方式('key'=>'value'),有时候我们需要根据键删除数组中指定的某个元素。

function bykey_reitem($arr, $key){ 
    if(!array_key_exists($key, $arr)){ 
      return $arr; 
    } 
    $keys = array_keys($arr); 
    $index = array_search($key, $keys); 
    if($index !== FALSE){ 
      array_splice($arr, $index, 1); 
    } 
    return $arr; 
  } 
  $data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou'); 
  $result = array_remove($data, 'name'); 
  var_dump($result);

使用函数的说明:

1.array_search()

定义和用法

array_search() 函数与in_array()一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。

如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

语法

array_search(value,array,strict)

参数    描述
value   必需。规定在数组中搜索的值。
array   必需。被搜索的数组。
strict  可选。可能的值:
true
false   默认
如果值设置为 true,还将在数组中检查给定值的类型

例子 1

<?php
  $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
  echo array_search("Dog",$a);
?>

2.array_splice()

定义和用法

array_splice()函数与array_slice()函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。

如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。

最后生成的数组将会返回。

语法

array_splice(array,offset,length,array)

参数     描述
array    必需。规定数组。
offset   必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length   可选。数值。如果省略该参数,则移除数组中从 offset到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
array    被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。

提示和注释

提示:如果函数没有删除任何元素 (length=0),则替代数组将从start 参数的位置插入。

注释:不保留替代数组中的键。

实例

<?php
     $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
     $a2=array(0=>"Tiger",1=>"Lion");
     array_splice($a1,0,2,$a2);
     print_r($a1);
     //输出:
    Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )
    ?>
    //与例子 1 相同,但是输出返回的数组:
    <?php
     $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
     $a2=array(0=>"Tiger",1=>"Lion");
     print_r(array_splice($a1,0,2,$a2));
    ?>
    //输出:
    Array ( [0] => Dog [1] => Cat )
    //length 参数设置为 0:
    <?php
     $a1=array(0=>"Dog",1=>"Cat");
     $a2=array(0=>"Tiger",1=>"Lion");
     array_splice($a1,1,0,$a2);
     print_r($a1);
   ?>
   //输出:
   Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
PHP4(windows版本)中的COM函数
Oct 09 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
php DOS攻击实现代码(附如何防范)
May 29 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
php格式化金额函数分享
Feb 02 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
php Session无效分析资料整理
Nov 29 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
laravel按天、按小时,查询数据的实例
Oct 09 PHP
php查看一个变量的占用内存的实例代码
Mar 29 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 #PHP
PHP中rename()函数的妙用讲解
Feb 28 #PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 #PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 #PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 #PHP
PHP删除数组中特定元素的两种方法
Feb 28 #PHP
PHP实时统计中文字数和区别
Feb 28 #PHP
You might like
PHP可变函数的使用详解
2013/06/14 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
php curl发送请求实例方法
2019/08/01 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
python中字典dict常用操作方法实例总结
2015/04/04 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python进程和线程用法知识点总结
2019/05/28 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
string = null 和string = ''的区别
2013/04/28 面试题
当当网软件测试笔试题
2015/11/24 面试题
生日宴会答谢词
2014/01/09 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
会计工作检讨书
2015/02/19 职场文书
加薪通知
2015/04/25 职场文书
学校社团活动总结
2015/05/07 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
如何写新闻稿
2015/07/18 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python