根据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 相关文章推荐
如何在PHP中使用Oracle数据库(1)
Oct 09 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
Oct 22 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
Dec 24 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP hebrev()函数用法讲解
Feb 21 PHP
解决Laravel无法使用COOKIE和SESSION的问题
Oct 16 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 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 4.2书写安全的脚本
2006/10/09 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
PHP 变量的定义方法
2010/01/26 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
详解Python sys.argv使用方法
2019/05/10 Python
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
演讲稿怎么写
2014/01/07 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
Python竟然能剪辑视频
2021/05/25 Python
Django框架中视图的用法
2022/06/10 Python
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS