PHP 如何向关联数组指定的 Key 之前插入元素
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);
}
}
调用也很简单,比如下面在 $columns
的 'author'
之前插入 ['page_title'=>'页面标题']
:
wpjam_array_push($columns, ['page_title'=>'页面标题'], 'author');
该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载,简单勾选或者设置下即可开启!