php把数组函数封装,PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)...
问题背景:array里一般是key---value的存储方式,我们有时候需要删除指定的key及对应的value。但是不知道为啥,那么多帖子都是在讲知道value,并删除该value的事情,差点误导我。
现将我写的完整版代码附下:
function array_remove($data, $key){
if(!array_key_exists($key, $data)){
return $data;
}
$keys = array_keys($data);
$index = array_search($key, $keys);
if($index !== FALSE){
array_splice($data, $index, 1);
}
return $data;
}
$data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou');
$result = array_remove($data, 'name');
var_dump($result);
补充说明:
1,其实问题出在array_search这个函数上,这个函数按照value去搜索,得到位置,如果找不到就返回NULL或false;
2,因此,在按key进行查找key对应的位置时,需要在$keys里去找,这就是调用array_keys的原因
3,因为array_search这个函数可能返回NULL和false,所以得按绝对比较,使用!==
相关报道:
据2011-2013年国内IDC行业发展研究报告数据显示,2011年中国IDC市场规模居然达到170.8亿元,竟比同年增长67.1%,其中增值业务的快速增长成为增长率持续上升的主要因素。 目前为止可以说IDC的发展趋势是十分不错的。然而,在这样的大好环境之下,当前IDC行业 更多
一、php面向对象的简单列子 以人为列子: name赋初始值$this-name=$name;//通过构造方法传进来的$sex给成员属性$this-sex赋初始值$this-sex=$sex;//通过构造方法传进来的$age给成员属性$this-age赋初 更多
php把数组函数封装,PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)...相关推荐
- php 未定义数组索引_如何删除PHP数组元素键值并重新排序
点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网 源 / www.php.cn 想要删除PHP数组中某个元素键值,然后重新规范索引排序.我们可以使用PHP中的内置函数uns ...
- 008——数组(八)删除添加数组 得到数组键名键值
<?php /*** 8 数组 删除添加数组 得到数组键名键值*//*array_unique() 清除数组中的重复项* */ /*$array1=array('苹果','荔枝','桃子','苹 ...
- php 解析数组,如何用PHP解析array数组
是想要取出 age.beauty和 face_type 的值吗? $oriArr = Array ( [error_code] => 0 [error_msg] => SUCCESS [l ...
- matlab中fic算法,粒子群算法在函数优化问题中的应用最终版(全文完整版)
<粒子群算法在函数优化问题中的应用.doc>由会员分享,可免费在线阅读全文,更多与<粒子群算法在函数优化问题中的应用(最终版)>相关文档资源请在帮帮文库(www.woc88.c ...
- 【滤波跟踪】基于Huber函数和最大相关熵的抗差滤波算法实现GNSS导航定位粗差处理附matlab代码
1 内容介绍 雷达系统中跟踪滤波器的设计通常依赖于线性高斯系统.一旦系统为非线性且受到非高斯噪声干扰时,雷达跟踪性能便出现严重恶化.为了提高目标在非线性非高斯环境下跟踪的精度,将最大相关熵扩展卡尔曼滤 ...
- c语言Inqueue函数用法,C语言用两个栈实现队列(完整版)
队列是一种 先进先出(first in - first out, FIFO)的数据结构,队列中的元素都从后端(rear)入队(push),从前端(front)出队(pop). 实现队列最直观的方法是用 ...
- QT创建指定文件夹方法(已封装)
bool createFolderPath(QString folderpath) {QDir dir;if (!dir.exists(folderpath)){bool is_Create = di ...
- 列表(list)、元组(tuple)、字典(dictionary)、array(数组)-numpy、DataFrame-pandas 、集合(set)...
一.列表(list) 一组有序项目的集合.可变的数据类型[可进行增删改查] 列表是以方括号"[]"包围的数据集合,不同成员以","分隔. 列表中可以包含任何数据 ...
- c++ 数组截取_【学习教程】JavaScript中原生Array数组方法详解
来源 | http://www.fly63.com/article/detial/9692 JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeo ...
最新文章
- debain apt oracle jdk,debian安装oracle jdk
- Python机器学习基础教程-第2章-监督学习之K近邻
- Linux简单安装Mysql+Apach+PHP+phpMyAdmin
- Web移动适配笔记(ing)
- 深度学习(一)——MP神经元模型, BP算法, 神经元激活函数, Dropout
- 您如何从Python的stdin中读取信息?
- vant+cell+picker+级联选择默认选中
- R6饮料AK赛(NOIP模拟赛)/省选专练HDU 5713 K个联通块
- 【Get】用深度学习识别手写数字
- 为什么说只有深度思考才能让你持续赚到钱?
- Java for selenium(webdriver) 环境搭建
- c语言数字钟课程设计报告,c语言实现电子时钟_课程设计.doc
- i2c-tools使用及调试
- 信息安全管理体系--建立
- 嵌入式 h.264中帧与场
- 游戏策划笔记:记忆点的构造
- python数学公式编辑工具_Karl的良心佳软推荐 篇二:目前最好用的数学公式编辑神器——Mathpix Snipping Tool...
- python---合并两个excel表格内容
- H5 编辑器 Tinymce之解决图片上传/粘贴
- IT工具【日常随手记】
热门文章
- 淘宝分布式框架Fourinone2.0正式版发布
- [31期] 第一个项目结束之际--俺很高调但很真诚地感谢一个人--涛爷
- 安装您的Sbo Add-on插件
- 比较2个DataTable中的内容是否相同的方法
- 为什么品牌商纷纷搭建自己的商城小程序?
- Powershell script for config_Win10
- iOS摄像头和相册-UIImagePickerController-浅析(转)
- 2015下半年软考系统集成管理工程师10月8日作业
- 数学建模之图像处理---颜色建模
- Floating Window 详解