PHP实现向关联数组指定的Key之前插入元素的方法


Posted in PHP onJune 06, 2017

本文实例讲述了PHP实现向关联数组指定的Key之前插入元素的方法。分享给大家供大家参考,具体如下:

PHP 关联数组可以通过三种方式插入新元素:

1. $array[$insert_key] = $insert_value;
2. $array = array_merge($array, $insert_array);
3. $array = $array+$insert_array;

但是如果要在指定的键之前插入元素呢?下面的代码将 $data 插入关联数组 $array 的键名为 $key 的 Key 之前:

function wpjam_array_push($array, $data=null, $key=false){
  $data  = (array)$data;
  $offset  = ($key===false)?false:array_search($key, array_keys($array));
  $offset  = ($offset)?$offset:false;
  if($offset){
    return array_merge(
      array_slice($array, 0, $offset),
      $data,
      array_slice($array, $offset)
    );
  }else{  // 没指定 $key 或者找不到,就直接加到末尾
    return array_merge($array, $data);
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
example2.php
Oct 09 PHP
PHP中显示格式化的用户输入
Oct 09 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
php学习笔记之 函数声明
Jun 09 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
深入PHP许愿墙模块功能分析
Jun 25 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
php字符串分割函数用法实例
Mar 17 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
一次项目中Thinkphp绕过禁用函数的实战记录
Nov 17 PHP
PHP培训要多少钱
Jun 06 #PHP
Mac系统完美安装PHP7详细教程
Jun 06 #PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
Jun 06 #PHP
PHP PDO操作MySQL基础教程
Jun 05 #PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 #PHP
Windows 下安装 swoole 图文教程(php)
Jun 05 #PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 #PHP
You might like
c#中的实现php中的preg_replace
2009/12/21 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
PHP+ajax分页实例简析
2015/12/07 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
PDO::quote讲解
2019/01/29 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
Python实现FLV视频拼接功能
2020/01/21 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
中学生团员自我评价分享
2013/12/07 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
教学质量评估实施方案
2014/03/17 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
情人节单身感言
2015/08/03 职场文书