如何将合并後的 php 陣列分割成原始部分?使用 array_chunk() 函數將陣列分割成特定大小的區塊。使用自定義循環逐個元素地遍歷,根據原始來源分配到不同的陣列。如果陣列包含鍵值,可以使用 array_group() 根據元素進行分組。
PHP 数组合并后的分割
合并数组是一种在 PHP 中经常遇到的操作。然而,在某些情况下,我们可能需要将合并后的数组分割成其原始部分。本文将介绍如何使用 PHP 内置函数和自定义方法来实现此操作。
内置函数
- array_chunk()
此函数将数组分割成指定大小的块。例如:
$mergedArray = ['a', 'b', 'c', 'd', 'e', 'f']; $chunks = array_chunk($mergedArray, 2); print_r($chunks);
登录后复制
输出:
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e [1] => f ) )
登录后复制
自定义方法
- 使用循环
我们可以使用循环逐个元素地遍历合并后的数组,并根据其原始来源将元素分配到不同的数组中。例如:
$mergedArray = ['a', 'b', 'c', 'd', 'e', 'f']; $array1 = []; $array2 = []; foreach ($mergedArray as $element) { if ($element % 2 == 0) { $array1[] = $element; } else { $array2[] = $element; } } print_r($array1); print_r($array2);
登录后复制
输出:
Array ( [0] => a [1] => c [2] => e ) Array ( [0] => b [1] => d [2] => f )
登录后复制
- 使用分组
如果合并后的数组中包含密钥,我们可以使用分组对元素进行排序。例如:
$mergedArray = [ 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 1, 'e' => 3, 'f' => 2, ]; $groupedArray = array_group($mergedArray, function ($item) { return $item % 2; }); print_r($groupedArray);
登录后复制
输出:
Array ( [1] => Array ( [0] => a [1] => d ) [2] => Array ( [0] => b [1] => f [2] => c [3] => e ) )
登录后复制
实战案例
考虑以下场景:
问题:合并来自不同来源的两个数组,并将其分割成其原始部分。
解决方案:
- 使用
array_merge()
合并两个数组:
$array1 = ['a', 'c', 'e']; $array2 = ['b', 'd', 'f']; $mergedArray = array_merge($array1, $array2);
登录后复制
- 使用
array_chunk()
分割合并后的数组:
$chunks = array_chunk($mergedArray, 3); print_r($chunks);
登录后复制
输出将类似于:
Array ( [0] => Array ( [0] => a [1] => c [2] => e ) [1] => Array ( [0] => b [1] => d [2] => f ) )
登录后复制
以上就是PHP数组合并后,如何分割合并后的数组?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:momo,转转请注明出处:https://www.dingdanghao.com/article/418010.html