根据key删除数组中指定的元素实现方法


Posted in PHP onMarch 02, 2017

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 参数的位置插入。(参见例子 3)

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

实例

<?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 )

以上这篇根据key删除数组中指定的元素实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
来自PHP.NET的入门教程
Oct 09 PHP
PHP安全性漫谈
Jun 28 PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
PHP实现加强版加密解密类实例
Jul 29 PHP
Symfony2在Nginx下的配置方法图文教程
Feb 04 PHP
浅析php静态方法与非静态方法的用法区别
May 17 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
phpinfo无法显示的原因及解决办法
Feb 15 PHP
如何用PHP做到页面注册审核
Mar 02 #PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 #PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 #PHP
php实现遍历文件夹的方法汇总
Mar 02 #PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 #PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 #PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 #PHP
You might like
php生成二维码
2015/08/10 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
基于jQuery试卷自动排版系统
2010/07/18 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
浅谈js的异步执行
2016/10/18 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
python对字典进行排序实例
2014/09/25 Python
Python守护进程(daemon)代码实例
2015/03/06 Python
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
使用python实现生成用户信息
2017/03/20 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
副总经理工作职责
2013/11/28 职场文书
小学生检讨书大全
2014/02/06 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python