根据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+MSSQL分页的例子
Oct 09 PHP
PHP与javascript的两种交互方式
Oct 09 PHP
discuz安全提问算法
Jun 06 PHP
PHPMailer安装方法及简单实例
Nov 25 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
PHP常用设计模式之委托设计模式
Feb 13 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
javascript简单实现命名空间效果
2014/03/06 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
angularjs学习笔记之简单介绍
2015/09/26 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
从Python程序中访问Java类的简单示例
2015/04/20 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
简单了解django索引的相关知识
2019/07/17 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
详解Python 函数参数的拆解
2020/09/02 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
信息专业个人的自我评价
2013/12/27 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
学生自我鉴定模板
2013/12/30 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
护士感人事迹
2014/05/01 职场文书
求职信怎么写
2014/05/23 职场文书
会计求职简历自我评价
2015/03/10 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
Vue详细的入门笔记
2021/05/10 Vue.js
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python