php中向数组动态添加元素有五种方法:一、array_push()追加至末尾;二、[]语法快速追加单个元素;三、array_unshift()插入开头;四、+运算符非覆盖合并关联数组;五、array_merge()合并并重排索引。

如果您需要在PHP中向数组动态添加新元素,可以通过多种内置函数实现不同场景下的值插入需求。以下是具体的操作方法:
一、使用array_push()函数追加元素
array_push()函数用于将一个或多个元素添加到数组的末尾,并返回新数组的长度。该函数会直接修改原数组,适用于批量追加多个值的场景。
1、定义一个索引数组,例如 $arr = [1, 2, 3];
2、调用 array_push($arr, 4, 5); 将整数4和5依次追加到数组末尾
立即学习“PHP免费学习笔记(深入)”;
3、执行后 $arr 变为 [1, 2, 3, 4, 5],函数返回值为5(新数组长度)
4、若需追加字符串或变量,可直接传入,如 array_push($arr, “hello”, $value);
二、使用[]语法快速追加单个元素
PHP支持通过空方括号语法向索引数组末尾添加单个元素,操作简洁且效率较高,适用于仅需插入一个值的情况。
1、声明数组 $arr = [“a”, “b”];
2、使用 $arr[] = “c”; 语句将字符串”c”追加至末尾
3、再次执行 $arr[] = “d”; 可继续添加新元素
4、最终 $arr 的值为 [“a”, “b”, “c”, “d”],键名自动按递增整数分配
三、使用array_unshift()在数组开头插入元素
array_unshift()函数将一个或多个元素插入到数组的开头位置,原有元素键名自动顺延,适用于需要前置插入的逻辑。
1、初始化数组 $arr = [2, 3, 4];
2、执行 array_unshift($arr, 1); 在开头插入整数1
3、再执行 array_unshift($arr, 0, -1); 插入两个新值,顺序为先-1后0
4、结果为 [-1, 0, 1, 2, 3, 4],所有键名重新索引为0开始的连续整数
四、使用+运算符合并关联数组
当处理关联数组时,使用+运算符可将右侧数组的键值对“非覆盖式”合并到左侧数组中,仅对不存在的键生效,适合扩展配置类数组。
1、定义基础数组 $base = [“name” => “Tom”, “age” => 25];
2、定义扩展数组 $ext = [“city” => “Beijing”, “job” => “Engineer”];
3、执行 $result = $base + $ext; 得到新数组,包含全部四个键值对
4、若 $ext 中存在与 $base 同名键(如”name”),则不会被覆盖,仍保留 $base 中的原始值
五、使用array_merge()合并并重排索引
array_merge()函数将多个数组合并为一个新数组,对索引数组会重置数字键名,对关联数组则保留键名(相同键名后者覆盖前者)。
1、准备两个索引数组:$a = [1, 2]; $b = [3, 4];
2、调用 $merged = array_merge($a, $b); 结果为 [1, 2, 3, 4]
3、若含关联键,如 $x = [“a” => 1]; $y = [“a” => 2, “b” => 3];
4、执行 $z = array_merge($x, $y); 后得到 [“a” => 2, “b” => 3],键”a”的值被后者覆盖