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

王林
Release: 2024-04-28 16:15:01
Original
807 people have browsed it

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);
Copy after login

Output:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )
    [1] => Array
        (
            [0] => c
            [1] => d
        )
    [2] => Array
        (
            [0] => e
            [1] => f
        )
)
Copy after login

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);
Copy after login

Output:

Array
(
    [0] => a
    [1] => c
    [2] => e
)
Array
(
    [0] => b
    [1] => d
    [2] => f
)
Copy after login
  • 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);
Copy after login

Output:

Array
(
    [1] => Array
        (
            [0] => a
            [1] => d
        )
    [2] => Array
        (
            [0] => b
            [1] => f
            [2] => c
            [3] => e
        )
)
Copy after login

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);
Copy after login
  1. Use array_chunk() Split the merged array:
$chunks = array_chunk($mergedArray, 3);
print_r($chunks);
Copy after login

The output will look like:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => c
            [2] => e
        )
    [1] => Array
        (
            [0] => b
            [1] => d
            [2] => f
        )
)
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template