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 相关文章推荐
PHP随机数生成代码与使用实例分析
Apr 08 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
php图片缩放实现方法
Feb 20 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
PHP反射原理与用法深入分析
Sep 28 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 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中的日期处理方法集锦
2007/01/02 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
jquery选择器(常用选择器说明)
2010/09/28 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
2013/05/15 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
js密码强度校验
2015/11/10 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
2017/07/10 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
整理Python中的赋值运算符
2015/05/13 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
python机器学习之决策树分类详解
2017/12/20 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
python http基本验证方法
2018/12/26 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
总经理助理的职责
2014/03/14 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL