根据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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
PHP可逆加密/解密函数分享
Sep 25 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
PHP实现简单实用的分页类代码
Apr 08 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
自制PHP框架之设计模式
May 07 PHP
PHP实现文字写入图片功能
Feb 18 PHP
laravel框架实现后台登录、退出功能示例
Oct 31 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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危险函数(disable_functions)
2012/02/23 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
Js 导出table内容到Excel的简单实例
2013/11/19 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python中return如何写
2020/06/18 Python
简约控的天堂:The Undone
2016/12/21 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
少儿节目主持串词
2014/04/02 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
后备干部推荐材料
2014/12/24 职场文书
导游词之张家界
2019/10/31 职场文书