PHP中向数组开头插入元素可用array_unshift(修改原数组,支持多值)、+运算符(关联数组前置键值)、array_merge(合并并重排索引)、或展开运算符...(PHP 7.4+)。

如果您需要在 PHP 数组的开头位置插入一个或多个新元素,则可以使用内置函数 array_unshift 来实现。该函数会修改原数组,并返回插入后的新数组长度。以下是具体操作方法:
array_unshift 函数接受至少两个参数:第一个是目标数组,后续参数为要插入到数组开头的值。它会直接修改原数组,无需重新赋值。
1、定义一个索引数组,例如 $arr = ['b', 'c'];
2、调用 array_unshift($arr, 'a');
立即学习“PHP免费学习笔记(深入)”;
3、此时 $arr 的值变为 ['a', 'b', 'c'],且函数返回值为 3(新数组长度)
4、注意:array_unshift 只能用于索引数组;关联数组的键名不会被重置,但新增元素将自动分配数字键 0,可能导致键名冲突
该函数支持一次插入多个值,所有新元素按参数顺序从左到右依次添加至数组头部,最左侧参数成为新的首个元素。
1、初始化数组 $arr = ['d', 'e'];
2、执行 array_unshift($arr, 'a', 'b', 'c');
3、$arr 现在为 ['a', 'b', 'c', 'd', 'e']
4、插入顺序严格遵循参数顺序,'a' 将位于最前,'c' 紧随其后
对于关联数组,若需保持原有键名结构并前置新键值对,可利用数组联合运算符 + 构造新数组,左侧为待插入项,右侧为原数组。
1、定义关联数组 $arr = ['name' => 'Tom', 'age' => 25];
2、构造新数组 $new_arr = ['id' => 1001] + $arr;
3、$new_arr 值为 ['id' => 1001, 'name' => 'Tom', 'age' => 25]
4、+ 运算符不修改原数组,需显式赋值给新变量;若键名重复,左侧数组的值生效
array_merge 可合并多个数组,将第一个数组内容置于结果开头。适用于索引数组和关联数组,但对索引数组会重排数字键。
1、准备数组 $arr = ['x', 'y'];
2、执行 $result = array_merge(['z'], $arr);
3、$result 值为 ['z', 'x', 'y'],且键名重置为 0、1、2
4、若原数组为关联数组,array_merge 不会重置字符串键名,但数字键仍会被重新编号
通过字面量语法将新元素与原数组展开组合,适用于需要完全控制结构或兼容低版本 PHP 的场景。
1、声明原数组 $arr = ['second', 'third'];
2、创建新数组 $arr = ['first', ...$arr];(PHP 7.4+ 支持展开运算符)
3、或使用传统方式:$arr = array_merge(['first'], $arr);
4、展开运算符 ... 要求 PHP 版本 ≥ 7.4,且仅适用于可遍历数组
以上就是php怎么设置数组头部增加一项_php数组头部增项array_unshift插入法【技巧】的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号