PHP中向数组追加子数组有五种方法:一、array_push()将子数组作为新元素压入索引数组末尾;二、$arr[] = [...]自动分配整数键;三、+=仅在键不存在时追加关联子数组;四、array_merge()合并数组,子数组作为独立元素;五、$arr['key'][] = [...]指定键名嵌套添加。

如果您希望在PHP中向一个现有数组追加一个新的子数组,而非覆盖或替换原有元素,则需根据目标数组的结构类型(索引数组或关联数组)选择合适的方式。以下是几种常用且互不依赖的实现方法:
array_push() 将一个或多个元素压入数组末尾,适用于索引数组,新子数组将作为独立元素添加,保持原有键值结构不变。
1、定义原始数组,例如 $arr = [1, 2];
2、调用 array_push($arr, ['a', 'b']);
立即学习“PHP免费学习笔记(深入)”;
3、执行后 $arr 变为 [1, 2, ['a', 'b']],其中 第三个元素是一个完整子数组
通过空方括号 [] 可以在索引数组末尾自动分配下一个整数键,操作简洁且性能较高,适合单次添加。
1、初始化数组 $data = ['x' => 'val'];
2、执行 $data[] = ['item1', 'item2'];
3、此时 $data 中新增一个索引键(如键为 0 或递增整数),其值为 ['item1', 'item2']
当目标数组为关联数组,且需以指定键名嵌入子数组时,+= 可用于追加键值对,但仅在键不存在时生效,不会覆盖已有键。
1、声明主数组 $config = ['host' => 'localhost'];
2、执行 $config += ['database' => ['name' => 'test', 'port' => 3306]];
3、结果中 'database' 键及其子数组被成功加入,且原 'host' 键不受影响
array_merge() 将一个或多个数组的值合并为新数组,若参数为索引数组,则子数组作为独立元素追加;若含字符串键,则后者覆盖前者同名键。
1、设定 $base = [10, 20];
2、设定 $sub = [['x', 'y'], ['m', 'n']];
3、执行 $result = array_merge($base, $sub);
4、$result 的结构为 [10, 20, ['x', 'y'], ['m', 'n']],即 每个子数组均成为独立元素
对于明确需要控制嵌套层级与键名的场景,可直接使用带键的方括号语法,强制将子数组写入特定键下,适用于构建多维配置结构。
1、初始化 $tree = [];
2、执行 $tree['users'][] = ['id' => 1, 'name' => 'Alice'];
3、再次执行 $tree['users'][] = ['id' => 2, 'name' => 'Bob'];
4、最终 $tree['users'] 是一个包含两个关联子数组的索引数组,键名为 'users' 的值本身就是一个数组
以上就是php怎么往一个数组中添加子数组_PHP向数组添加子数组的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号