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

时间:2021-07-19 21:17:23

本文实例讲述了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 之前:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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程序设计有所帮助。