问题背景: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(完整版,已封装成函数,附测试代码)...相关推荐

  1. php 未定义数组索引_如何删除PHP数组元素键值并重新排序

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 想要删除PHP数组中某个元素键值,然后重新规范索引排序.我们可以使用PHP中的内置函数uns ...

  2. 008——数组(八)删除添加数组 得到数组键名键值

    <?php /*** 8 数组 删除添加数组 得到数组键名键值*//*array_unique() 清除数组中的重复项* */ /*$array1=array('苹果','荔枝','桃子','苹 ...

  3. php 解析数组,如何用PHP解析array数组

    是想要取出 age.beauty和 face_type 的值吗? $oriArr = Array ( [error_code] => 0 [error_msg] => SUCCESS [l ...

  4. matlab中fic算法,粒子群算法在函数优化问题中的应用最终版(全文完整版)

    <粒子群算法在函数优化问题中的应用.doc>由会员分享,可免费在线阅读全文,更多与<粒子群算法在函数优化问题中的应用(最终版)>相关文档资源请在帮帮文库(www.woc88.c ...

  5. 【滤波跟踪】基于Huber函数和最大相关熵的抗差滤波算法实现GNSS导航定位粗差处理附matlab代码

    1 内容介绍 雷达系统中跟踪滤波器的设计通常依赖于线性高斯系统.一旦系统为非线性且受到非高斯噪声干扰时,雷达跟踪性能便出现严重恶化.为了提高目标在非线性非高斯环境下跟踪的精度,将最大相关熵扩展卡尔曼滤 ...

  6. c语言Inqueue函数用法,C语言用两个栈实现队列(完整版)

    队列是一种 先进先出(first in - first out, FIFO)的数据结构,队列中的元素都从后端(rear)入队(push),从前端(front)出队(pop). 实现队列最直观的方法是用 ...

  7. QT创建指定文件夹方法(已封装)

    bool createFolderPath(QString folderpath) {QDir dir;if (!dir.exists(folderpath)){bool is_Create = di ...

  8. 列表(list)、元组(tuple)、字典(dictionary)、array(数组)-numpy、DataFrame-pandas 、集合(set)...

    一.列表(list) 一组有序项目的集合.可变的数据类型[可进行增删改查] 列表是以方括号"[]"包围的数据集合,不同成员以","分隔. 列表中可以包含任何数据 ...

  9. c++ 数组截取_【学习教程】JavaScript中原生Array数组方法详解

    来源 | http://www.fly63.com/article/detial/9692 JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeo ...

最新文章

  1. debain apt oracle jdk,debian安装oracle jdk
  2. Python机器学习基础教程-第2章-监督学习之K近邻
  3. Linux简单安装Mysql+Apach+PHP+phpMyAdmin
  4. Web移动适配笔记(ing)
  5. 深度学习(一)——MP神经元模型, BP算法, 神经元激活函数, Dropout
  6. 您如何从Python的stdin中读取信息?
  7. vant+cell+picker+级联选择默认选中
  8. R6饮料AK赛(NOIP模拟赛)/省选专练HDU 5713 K个联通块
  9. 【Get】用深度学习识别手写数字
  10. 为什么说只有深度思考才能让你持续赚到钱?
  11. Java for selenium(webdriver) 环境搭建
  12. c语言数字钟课程设计报告,c语言实现电子时钟_课程设计.doc
  13. i2c-tools使用及调试
  14. 信息安全管理体系--建立
  15. 嵌入式 h.264中帧与场
  16. 游戏策划笔记:记忆点的构造
  17. python数学公式编辑工具_Karl的良心佳软推荐 篇二:目前最好用的数学公式编辑神器——Mathpix Snipping Tool...
  18. python---合并两个excel表格内容
  19. H5 编辑器 Tinymce之解决图片上传/粘贴
  20. IT工具【日常随手记】

热门文章

  1. 淘宝分布式框架Fourinone2.0正式版发布
  2. [31期] 第一个项目结束之际--俺很高调但很真诚地感谢一个人--涛爷
  3. 安装您的Sbo Add-on插件
  4. 比较2个DataTable中的内容是否相同的方法
  5. 为什么品牌商纷纷搭建自己的商城小程序?
  6. Powershell script for config_Win10
  7. iOS摄像头和相册-UIImagePickerController-浅析(转)
  8. 2015下半年软考系统集成管理工程师10月8日作业
  9. 数学建模之图像处理---颜色建模
  10. Floating Window 详解