博客列表 >PHP 如何向关联数组指定的 Key 之前插入元素

PHP 如何向关联数组指定的 Key 之前插入元素

?Mr Bean ℡
?Mr Bean ℡原创
2021年03月26日 20:57:43572浏览

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 插件中,并已免费提供下载!


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议