Home >Backend Development >PHP Tutorial >After merging PHP arrays, how to split the merged array?

After merging PHP arrays, how to split the merged array?

王林
王林Original
2024-04-28 16:15:01840browse

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.

After merging PHP arrays, how to split the merged array?

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

  • array_chunk()

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

  • Use loop

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
)
  • Using grouping

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:

  1. Use array_merge() to merge two arrays:
$array1 = ['a', 'c', 'e'];
$array2 = ['b', 'd', 'f'];
$mergedArray = array_merge($array1, $array2);
  1. Use 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn