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 相关文章推荐
PHP 获取目录下的图片并随机显示的代码
Dec 28 PHP
php UTF-8、Unicode和BOM问题
May 18 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
php array的学习笔记
May 10 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
php实现图片局部打马赛克的方法
Feb 11 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
PHP中的类型约束介绍
May 11 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
PHP日期和时间函数的使用示例详解
Aug 06 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生成带有雪花背景的验证码
2006/10/09 PHP
php生成html文件方法总结
2014/12/01 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
百度地图api应用标注地理位置信息(js版)
2013/02/01 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
javascript实用方法总结
2015/02/06 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
Vue数字输入框组件的使用方法
2019/10/19 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
使用Python设计一个代码统计工具
2018/04/04 Python
python脚本实现验证码识别
2018/06/07 Python
python 二维数组90度旋转的方法
2019/01/28 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
中国梦演讲稿开场白
2014/08/28 职场文书
法定代表人身份证明书
2015/06/18 职场文书