高效php数组操作:向数组添加子数组的多种方法
本文将探讨在PHP中高效添加子数组到现有数组的几种方法,并比较其优缺点。 下图展示了本文将讨论的几种方法的对比。

方法一:使用foreach循环
这是最直观的方法,适合处理各种类型的子数组。
立即学习“PHP免费学习笔记(深入)”;
<code class="php">$mainArray = [];
$subArrays = [[69, 70], [71, 72]];
foreach ($subArrays as $subArray) {
$mainArray[] = $subArray;
}
print_r($mainArray);</code>输出结果:
<code>Array
(
[0] => Array
(
[0] => 69
[1] => 70
)
[1] => Array
(
[0] => 71
[1] => 72
)
)</code>方法二:使用递归迭代器 (RecursiveIteratorIterator)
此方法适用于需要深度遍历多维数组的情况,但对于简单的子数组添加,效率相对较低。
<code class="php">$mainArray = []; $mainArray[] = [69, 70]; $mainArray[] = [71, 72]; $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($mainArray)); $flattenedArray = iterator_to_array($iterator, false); print_r($flattenedArray);</code>
输出结果:
<code>Array
(
[0] => 69
[1] => 70
[2] => 71
[3] => 72
)</code>注意:此方法将子数组元素展平到主数组中。
方法三:使用array_merge()
array_merge() 函数可以合并多个数组,但需要使用展开运算符(...)才能正确合并子数组。
<code class="php">$mainArray = []; $subArrays = [[69, 70], [71, 72]]; $mainArray = array_merge(...$subArrays); print_r($mainArray);</code>
输出结果:
<code>Array
(
[0] => 69
[1] => 70
[2] => 71
[3] => 72
)</code>同样,此方法也展平了子数组。
方法四:使用array_push()
array_push() 函数可以向数组末尾添加一个或多个元素。
<code class="php">$mainArray = []; $subArrays = [[69, 70], [71, 72]]; array_push($mainArray, $subArrays[0], $subArrays[1]); //逐个添加子数组 print_r($mainArray);</code>
输出结果:
<code>Array
(
[0] => Array
(
[0] => 69
[1] => 70
)
[1] => Array
(
[0] => 71
[1] => 72
)
)</code>总结:
对于简单的子数组添加,foreach循环是最清晰、最有效的方法。 如果需要展平子数组,则array_merge() 更简洁。 array_push() 适合在已知子数组数量且需要逐个添加时使用。 RecursiveIteratorIterator 则适用于处理更复杂的嵌套数组结构。 选择哪种方法取决于具体的应用场景和需求。
以上就是PHP数组如何高效地添加子数组?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号