PHP 关联数组可以通过三种方式插入新元素:
- $array[$insert_key] = $insert_value;
- $array = array_merge($array, $insert_array);
- $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); } }