根据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 编程安全性小结
Jan 08 PHP
允许phpmyadmin空密码登录的配置方法
May 29 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
PHP单例模式详细介绍
Jul 01 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
PHP实现懒加载的方法
2015/03/07 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
Python实现批量检测HTTP服务的状态
2016/10/27 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
使用Python实现画一个中国地图
2019/11/23 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
教师批评与自我批评(群众路线)
2014/10/15 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
Python制作春联的示例代码
2022/01/22 Python