根据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中动态HTML的输出技术
Oct 09 PHP
PHP+DBM的同学录程序(2)
Oct 09 PHP
PHP一些有意思的小区别
Dec 06 PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
php 获取百度的热词数据的代码
Feb 18 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
php strrpos()与strripos()函数
Aug 31 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
php计算两个日期时间差(返回年、月、日)
Jun 19 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
Apr 18 PHP
PHP中PDO事务处理操作示例
May 02 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 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伪静态的实现详细介绍
2013/04/28 PHP
php内嵌函数用法实例
2015/03/20 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
laravel 实现设置时区的简单方法
2019/10/10 PHP
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
学习JavaScript设计模式(封装)
2015/11/26 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
Python的几种主动结束程序方式
2019/11/22 Python
Python:slice与indices的用法
2019/11/25 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
把富文本的回车转为br标签
2019/08/09 HTML / CSS
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
机电工程专业应届生求职信
2013/10/03 职场文书
情况说明书格式范文
2014/05/06 职场文书
校园环保标语
2014/06/13 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
Python+pyaudio实现音频控制示例详解
2022/07/23 Python
mysql函数之截取字符串的实现
2022/08/14 MySQL