PHP プログラミングでは、大きな配列をいくつかの小さな配列に分割する必要がある状況によく遭遇します。これは主に、プログラムの処理と操作を容易にし、過度のループやトラバーサル操作を避けるために行われます。 PHP で配列を分割する方法を学びましょう。
1. array_chunk() 関数を使用して配列を分割します
PHP には、配列を分割するための非常に単純な関数 array_chunk() が用意されています。この関数の機能は、配列を指定された長さのいくつかの小さな配列に分割することです。
使用法は次のとおりです:
array array_chunk (array $array , int $size [, bool $preserve_keys = false ] )
このうち、$array は分割する必要がある配列、$size は指定された各小さな配列の長さ、$preserve_keys は指定するために使用されます。元の配列を保持するかどうか キー名。 $preserve_keys が true に設定されている場合、元の配列内のキー名が保持されます。
次はサンプル コードです:
<?php $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'); $new_arr = array_chunk($arr, 4); print_r($new_arr); ?>
実行結果は次のとおりです:
Array ( [0] => Array ( [0] => a [1] => b [2] => c [3] => d ) [1] => Array ( [0] => e [1] => f [2] => g [3] => h ) [2] => Array ( [0] => i [1] => j [2] => k [3] => l ) [3] => Array ( [0] => m ) )
2. array_slice() 関数を使用して配列を分割します
array_chunk() 関数に加えて、array_slice() 関数を使用して配列を分割することもできます。
array_slice() 関数は、指定された長さの部分配列を返します。最初のパラメータは分割する配列、2 番目のパラメータは分割を開始する配列内の位置、3 番目のパラメータは分割する長さです。指定しない場合は、開始位置から配列の末尾までを返します。 . すべての要素の。
以下はサンプル コードです:
<?php $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'); $new_arr = array(); $offset = 0; $length = 4; while ($offset < count($arr)) { $temp_arr = array_slice($arr, $offset, $length); array_push($new_arr, $temp_arr); $offset += $length; } print_r($new_arr); ?>
実行結果は前のコードの例と同じです。
3. for ループを使用して配列を走査および分割する
上記の関数を使用することに加えて、for ループを使用して配列を走査および分割することもできます。
以下はサンプル コードです:
<?php $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'); $new_arr = array(); $length = 4; for ($i = 0; $i < count($arr); $i += $length) { $temp_arr = array(); for ($j = $i; $j < $i + $length; $j++) { if (isset($arr[$j])) { array_push($temp_arr, $arr[$j]); } } array_push($new_arr, $temp_arr); } print_r($new_arr); ?>
実行結果も、最初の 2 つのコードの例と同じです。
概要
PHP を使用して配列を分割することは、プログラミングで頻繁に発生する要件です。一般的な関数とトラバーサル メソッドを学習すると、プログラミングの効率が大幅に向上します。この記事では、配列を分割する 3 つの方法を紹介します。array_chunk() 関数を使用するのが最も簡単で便利です。元の配列のキー名を保持する必要がある場合は、この関数を使用できます。array_slice() 関数を使用するには手動で行う必要があります配列のオフセットと長さを指定することは、より面倒ですが、for ループを使用してコードを走査するのは比較的複雑ですが、より柔軟です。実際の開発では、ニーズに応じて適切な方法を選択できます。
以上がPHPで配列を分割する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。