現在の位置: ホーム> 最新記事一覧> array_chunkによって返される配列キー名は連続していますね。

array_chunkによって返される配列キー名は連続していますね。

M66 2025-04-25

PHPでは、 Array_chunkは非常に実用的な機能であり、大きなアレイを複数の小さなアレイに分割できるため、各小さな配列の最大長を定義することもできます。

関数の署名は次のとおりです。

 array_chunk(array $array, int $length, bool $preserve_keys = false): array
  • $配列:入力配列。

  • $の長さ:各スプリット配列の長さ。

  • $ preserve_keystrueに設定されている場合、返された配列は元の配列のキー名を保持します。 falseの場合、返された配列は連続した数値キー名を再生します。

1。array_chunk後に新しい配列キー名は返されますか?

デフォルトでは、 array_chunkは、3番目のパラメーター$ preserve_keysに基づいて元の配列のキー名を保持するかどうかを決定します。

  • $ preserve_keysfalse (デフォルト)に設定されている場合、返された新しい配列は、 0からの連続した数値キー名を使用します。

  • $ preserve_keysがtrueに設定されている場合、新しい配列は元の配列のキー名を保持します。

例: $ preserve_keysfalseです

<?php
$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
        )
)

ご覧のとおり、上記のコードでは、 $ preserve_keysのデフォルトはfalseであるため、返された配列のキー名は0、1、2に変更され、元の配列の10、20、30などのキー名を保持しません。

例: $ preserve_keystrueです

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

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

print_r($result);
?>

出力結果:

 Array
(
    [10] => Array
        (
            [0] => a
            [1] => b
        )
    [20] => Array
        (
            [0] => c
            [1] => d
        )
    [30] => Array
        (
            [0] => e
        )
)

この例では、 $ preserve_keysがtrueに設定されているため、返された配列は元の配列のキー名を保持します: 10、20、30

2。array_chunkによって返される新しい配列のキー名は連続していますか?

  • $ preserve_keysfalseに設定されている場合、返された新しい配列のキー名は連続しています。つまり、新しい配列は0から始まり、連続した数字で番号が付けられます。

  • $ preserve_keysがtrueに設定されている場合、返された新しい配列は元のキー名を保持するため、新しい配列のキー名は連続していない場合がありますが、元の配列の対応する分割部分のキー名と一致します。

3。概要

array_chunkの動作は、$ preserve_keysパラメーターに依存します。

  • デフォルトでは( $ preserve_keys = false )、新しい配列のキー名は0から継続的です。

  • $ preserve_keys = trueが設定されている場合、新しい配列は元の配列のキー名を保持します。

継続的な数値キー名が必要な場合は、 $ preserve_keysをfalseに設定する必要があります。そうしないと、元のキー名を保持できます。