How to split the merged PHP array into original parts? Use the array_chunk() function to split an array into chunks of a specific size. Use a custom loop to iterate over elements one by one, assigning to different arrays based on the original source. If the array contains key values, you can use array_group() to group by elements.
Split of PHP arrays after merging
Merging arrays is an operation often encountered in PHP. However, in some cases we may need to split the merged array into its original parts. This article explains how to do this using PHP built-in functions and custom methods.
Built-in function
This function splits the array into chunks of the specified size piece. For example:
$mergedArray = ['a', 'b', 'c', 'd', 'e', 'f']; $chunks = array_chunk($mergedArray, 2); print_r($chunks);
Output:
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e [1] => f ) )
Custom method
We can use a loop to iterate through the merged array element by element and assign the elements to different arrays based on their original source. For example:
$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);
Output:
Array ( [0] => a [1] => c [2] => e ) Array ( [0] => b [1] => d [2] => f )
If the merged array contains keys, we can Use grouping to sort elements. For example:
$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);
Output:
Array ( [1] => Array ( [0] => a [1] => d ) [2] => Array ( [0] => b [1] => f [2] => c [3] => e ) )
Practical case
Consider the following scenario:
Question: Merge two arrays from different sources and split them into their original parts.
Solution:
array_merge()
to merge two arrays: $array1 = ['a', 'c', 'e']; $array2 = ['b', 'd', 'f']; $mergedArray = array_merge($array1, $array2);
array_chunk()
Split the merged array: $chunks = array_chunk($mergedArray, 3); print_r($chunks);
The output will look like:
Array ( [0] => Array ( [0] => a [1] => c [2] => e ) [1] => Array ( [0] => b [1] => d [2] => f ) )
The above is the detailed content of After merging PHP arrays, how to split the merged array?. For more information, please follow other related articles on the PHP Chinese website!