ホームページ  >  記事  >  バックエンド開発  >  PHP 配列をマージした後、マージされた配列を分割するにはどうすればよいですか?

PHP 配列をマージした後、マージされた配列を分割するにはどうすればよいですか?

王林
王林オリジナル
2024-04-28 16:15:01808ブラウズ

マージされた PHP 配列を元の部分に分割するにはどうすればよいですか? array_chunk() 関数を使用して、配列を特定のサイズのチャンクに分割します。カスタム ループを使用して要素を 1 つずつ繰り返し、元のソースに基づいて異なる配列に割り当てます。配列にキー値が含まれている場合は、array_group() を使用して要素ごとにグループ化できます。

PHP 配列をマージした後、マージされた配列を分割するにはどうすればよいですか?

マージ後の 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
        )
)

実際的なケース

次のシナリオを考えてみましょう:

質問: 異なるソースからの 2 つの配列をマージし、元の部分に分割します。

#解決策:

  1. array_merge() を使用して 2 つの配列をマージします:
  2. $array1 = ['a', 'c', 'e'];
    $array2 = ['b', 'd', 'f'];
    $mergedArray = array_merge($array1, $array2);
  1. array_chunk() を使用します。結合された配列を分割します:
  2. $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 配列をマージした後、マージされた配列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。