現在の位置: ホーム> 最新記事一覧> array_chunkのpreserve_keysパラメーターの詳細な説明

array_chunkのpreserve_keysパラメーターの詳細な説明

M66 2025-04-28

PHPでは、 array_chunk関数は、大きな配列を複数の小さなアレイに分割するために使用される一般的に使用される関数です。この関数の基本的な構文は次のとおりです。

 array_chunk(array $array, int $size, bool $preserve_keys = false): array

パラメーター分析

  • $配列:分割する配列。

  • $サイズ:各サブアレイのサイズ。

  • $ preserve_keys :元の配列のキー値が保持されているかどうかを示すブール値。

ここで、最も一般的に使用されるパラメーターは、$ size$ preserve_keysです。この記事では、$ preserve_keysパラメーターの関数とそれを正しく使用する方法の説明に焦点を当てます。

array_chunk関数の関数

array_chunk関数は、配列を複数の小さな配列に分割でき、各小さな配列のサイズは$ sizeで決定されます。デフォルトでは、分割配列は新しいキー値を使用し、0から変更されます。元の配列のキー値を保持する必要がある場合は、 preserve_keysパラメーターを使用してそれを実現できます。

$ preserve_keysパラメーターの関数

$ preserve_keysはブールパラメーターです。デフォルトでは、その値はです。つまり、スプリットサブアレイは元の配列のキー値を失い、0から再起動します。 $ preserve_keysがtrueに設定されている場合、元の配列のキー値が保持されます。

例1:キー値が予約されていません

$array = [
    10 => 'a',
    20 => 'b',
    30 => 'c',
    40 => 'd',
    50 => 'e',
];

$result = array_chunk($array, 2);  // キー値はデフォルトでは保持されません

print_r($result);

出力:

 Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )
)

ご覧のとおり、分割配列は0から各サブアレイまでのキー値を再割り当てします。

例2:キー値を予約します

$array = [
    10 => 'a',
    20 => 'b',
    30 => 'c',
    40 => 'd',
    50 => 'e',
];

$result = array_chunk($array, 2, true);  // 設定preserve_keysのためにtrue,キー値を予約します

print_r($result);

出力:

 Array
(
    [0] => Array
        (
            [10] => a
            [20] => b
        )

    [1] => Array
        (
            [30] => c
            [40] => d
        )

    [2] => Array
        (
            [50] => e
        )
)

この時点で、分割されたサブアレイは元の配列の重要な値を保持します。

preserve_keysを使用して配列キー値を保持する方法

Preserve_Keysパラメーターを使用する場合、 Array_Chunkを呼び出して元のArrayのキー値を保持するときにTrueに設定する必要があります。たとえば、キー値が理にかなっている配列があり、それらの重要な値を保持したいアレイがあるとします。これを行うことができます。

 $array = [
    0 => 'apple',
    1 => 'banana',
    2 => 'cherry',
    3 => 'date',
];

$chunks = array_chunk($array, 2, true);

foreach ($chunks as $chunk) {
    foreach ($chunk as $key => $value) {
        echo "Key: $key, Value: $value\n";
    }
}

出力:

 Key: 0, Value: apple
Key: 1, Value: banana
Key: 2, Value: cherry
Key: 3, Value: date

ご覧のとおり、分割配列はまだ元の配列の重要な値を保持します。

要約します

Array_Chunk関数のpreserve_keysパラメーターを使用すると、元の配列のキー値を保持するかどうかを簡単に制御できます。デフォルトでは、キー値は0から失われ、名前を変更します。ただし、元のキー値を保持したい場合は、 preserve_keys真に設定してください。

これは、いくつかのインデックス値を分割したり、アレイを関連付けたりするときに元の配列の構造やキー価値関係を維持するなど、キー値を保持する必要があるシナリオに非常に役立ちます。

知らせ: