答案:PHP中添加数组元素的方法包括:末尾追加用[]或array_push(),开头插入用array_unshift(),指定位置用array_splice(),批量合并用array_merge(),不同函数适用于不同场景,选择合适方法可提升代码效率与可读性。

PHP 中给数组添加元素有多种方法,关键看你是想追加到末尾、插入到开头、指定位置,还是批量添加。不同场景用不同函数,选对了效率高、逻辑也清晰。
追加元素到数组末尾(最常用)
用 array_push() 或直接用方括号语法,适合在已有数组后面加一个或多个新值。
- array_push($arr, $val1, $val2):可一次推入多个值,返回新数组长度
- $arr[] = $val:更轻量,推荐用于单个元素,性能略好,不改变原数组结构
例如:
php
$fruits = ['apple', 'banana'];
array_push($fruits, 'cherry', 'date'); // 变成 ['apple','banana','cherry','date']
$fruits[] = 'elderberry'; // 再加一个
?>
插入元素到数组开头
用 array_unshift(),会把新元素放在索引 0 的位置,原有元素自动后移。
- 支持一次插入多个值
- 会重排数字索引(关联键名保留)
例如:
$nums = [2, 3, 4];
array_unshift($nums, 0, 1); // 结果是 [0,1,2,3,4]
?>
在指定位置插入元素
用 array_splice(),它既能插入,也能替换或删除,灵活性最强。
立即学习“PHP免费学习笔记(深入)”;
- array_splice($arr, $offset, 0, $new):第三个参数设为 0 表示不删,只插入
- $new 可以是单个值,也可以是数组(需用数组形式传入)
例如:
$colors = ['red', 'blue', 'green'];
array_splice($colors, 1, 0, ['orange', 'yellow']); // 在索引1前插入
// 结果:['red','orange','yellow','blue','green']
?>
合并两个或多个数组(批量添加)
用 array_merge(),适合把另一个数组的所有元素追加进来,注意它会重排数字索引。
- 关联键名冲突时,后面的值会覆盖前面的
- 如果只想简单拼接且保留原索引,可用 + 运算符(但不会重排数字键)
例如:
$a = [0 => 'a', 1 => 'b'];
$b = [0 => 'x', 1 => 'y'];
print_r(array_merge($a, $b)); // [0=>'a',1=>'b',2=>'x',3=>'y']
print_r($a + $b); // [0=>'a',1=>'b'] —— 后面的被忽略
?>
基本上就这些。日常开发中,末尾追加用 [],开头加用 array_unshift(),中间插用 array_splice(),整批合并用 array_merge()。选对方法,代码更干净,也不容易出错。











