PHP根据key删除数组中指定的元素


Posted in PHP onFebruary 28, 2019

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 参数的位置插入。

注释:不保留替代数组中的键。

实例

<?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 )

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
php selectradio和checkbox默认选择的实现方法详解
Jun 29 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 PHP
php动态绑定变量的用法
Jun 16 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
php版微信发红包接口用法示例
Sep 23 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 #PHP
PHP中rename()函数的妙用讲解
Feb 28 #PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 #PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 #PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 #PHP
PHP删除数组中特定元素的两种方法
Feb 28 #PHP
PHP实时统计中文字数和区别
Feb 28 #PHP
You might like
PHP生成月历代码
2007/06/14 PHP
php header示例代码(推荐)
2010/09/08 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
今天是星期几的4种JS代码写法
2013/09/17 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
初学python数组的处理代码
2011/01/04 Python
Django中几种重定向方法
2015/04/28 Python
python实现线程池的方法
2015/06/30 Python
windows下python连接oracle数据库
2017/06/07 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
公司董事长岗位职责
2014/06/08 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
电子商务实训报告总结
2014/11/05 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
个人党性分析总结
2015/03/05 职场文书
纪录片信仰观后感
2015/06/08 职场文书
企业安全生产规章制度
2015/08/06 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS