PHPでは、 array_chunk関数を使用して、配列を複数の小さなアレイに分割します。通常、それを使用して数値インデックスアレイを分割します。ただし、連想配列に対処する場合、多くの開発者が質問をしています。Array_chunk関数はキー名を保持しますか?この質問に対する答えは次のとおりです。
まず、 array_chunk関数の使用方法をすばやく確認しましょう。 array_chunkの基本的な使用法は次のとおりです。
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$配列:分割する必要がある元の配列。
$サイズ:各サブアレイのサイズ。
$ preserve_keys :元の配列のキー名を保持するかどうか、デフォルトでfalseになります。
$ preserve_keysがtrueに設定されている場合、 array_chunkは元の配列にキー名を保持します。 false (デフォルトがfalse )に設定されている場合、キー名は再インデックスされます。
いくつかの具体的な例を使用して、 array_chunkを使用して配列を関連付けるときにキー名が保存されるかどうかを確認しましょう。
$array = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
'd' => 'date'
];
$result = array_chunk($array, 2);
print_r($result);
出力の結果は次のとおりです。
Array
(
[0] => Array
(
[0] => apple
[1] => banana
)
[1] => Array
(
[0] => cherry
[1] => date
)
)
キー名が失われており、結果のキーが0から再インデックスされていることがわかります。
$array = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
'd' => 'date'
];
$result = array_chunk($array, 2, true);
print_r($result);
出力の結果は次のとおりです。
Array
(
[0] => Array
(
[a] => apple
[b] => banana
)
[1] => Array
(
[c] => cherry
[d] => date
)
)
この例では、キー名は保存され、 array_chunkは各サブアレイを元のキー名で返します。
array_chunkは連想配列を分割するのに役立ちますが、その動作に注意してください。元のキー名を保存する場合は、3番目のパラメーター$ preserve_keysをtrueに設定する必要があります。それ以外の場合は、キー名が再インネックスされます。これは、キー名を保持する必要があるシナリオには適していない場合があります。
また、キー名を保持する必要がなく、配列コンテンツの分割にのみ集中する必要がある場合は、デフォルトの動作で十分です。
array_chunkはデフォルトでキー名を保持せず、サブアレイのキーを再インデックスします。
キー名を保持する必要がある場合は、 $ preserve_keysパラメーターをtrueに設定して実行できます。
連想配列を分割するとき、 array_chunkは完全に適用可能ですが、ニーズに応じてキー名を保持するかどうかを決定する必要があります。
次のように、コードでURLを使用するとします。
$url = 'https://m66.net/page';
$parsed_url = parse_url($url);
print_r($parsed_url);