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

2023-04-14 08:57:24 浏览数 (2)

PHP 关联数组可以通过三种方式插入新元素:

代码语言:javascript复制
$array[$insert_key] = $insert_value;
代码语言:javascript复制
$array = array_merge($array, $insert_array);
代码语言:javascript复制
$array = $array $insert_array;

但是如果要在指定的键之前插入元素呢?下面的代码将 data 插入关联数组 array 的键名为

代码语言:javascript复制
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'=>'页面标题']

代码语言:javascript复制
wpjam_array_push($columns, ['page_title'=>'页面标题'], 'author');

0 人点赞