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

yipeiwu_com5年前PHP代码库

本文实例讲述了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数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

php 备份数据库代码(生成word,excel,json,xml,sql)

单表备份代码:复制代码 代码如下:<?php    class Db    {    &n...

关于Zend Studio 配色方案插件的介绍

关于Zend Studio 配色方案插件的介绍

首先,菜单栏–help–install new software… 接着,添加一个更新源,就是点击界面的add按钮,在新窗口的location位置输入http://eclipse-col...

dede3.1分页文字采集过滤规则详说(图文教程)续二

dede3.1分页文字采集过滤规则详说(图文教程)续二

稍微了解dede采集规则的朋友上篇内容完全可以略过,下面看看如何以静制动、以不变就万变地解决分页采集问题。二、采集新目标目标地址:1、http://www.tiansou.net/Htm...

浅析PHP中Collection 类的设计

用.net开发已经很多年了,最近接触到php,发现php也很好玩。不过发现它里面没有集合Collection类,只有数组,并且数组很强。这里我用数组来包装成一个集合Collection,...

php简单隔行变色功能实现代码 原创

本文简单分析了php简单隔行变色功能实现方法。分享给大家公大家参考。具体如下: $color=""; echo "隔行变色效果:"; echo "<ul>"; for($...