現在の位置: ホーム> 最新記事一覧> array_chunkとarray_sliceの違いと使用シナリオ

array_chunkとarray_sliceの違いと使用シナリオ

M66 2025-04-26

array_chunk関数

array_chunk関数は、大きな配列を複数の小さな配列に分割するために使用されます。各小さな配列のサイズは、指定されたサイズです。この関数の基本的な構文は次のとおりです。

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • パラメーター説明:

    • $配列:分割する必要がある元の配列。

    • $サイズ:各小さな配列のサイズ。

    • $ preserve_keys :元の配列のキー名を保持するかどうかにかかわらず、デフォルト値はfalse 、つまりインデックスがリセットされます。

  • 関数:
    array_chunkは、元の配列を指定されたサイズにカットします。 $サイズが2に設定されている場合、元の配列は2つの要素を含むいくつかの小さな配列に分割されます。最後の配列のサイズが$未満の場合、残りの要素が含まれます。

  • 例:

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($array, 3);
print_r($chunkedArray);
?>

出力:

 Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )
    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )
    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )
)
  • 該当するシナリオ:
    Array_chunkは、大きな配列がページネーションディスプレイ、バッチ処理タスクなどのいくつかの小さな配列に分割されるシーンに適しています。

array_slice関数

array_slice関数は、配列から部品を抽出するために使用されます。 array_chunkとは異なり、 array_sliceを使用すると、元の配列のどこからでも起動し、取り出される要素の数を指定できます。基本的な構文は次のとおりです。

 array_slice(array $array, int $offset, int $length = NULL, bool $preserve_keys = false): array
  • パラメーター説明:

    • $配列:元の配列。

    • $ offset :切断を開始するインデックス位置。負の数の場合、カウントは配列の端から始まります。

    • $ length :カットする要素の数。指定されていない場合、デフォルトは$ offsetから配列の最後までです。

    • $ preserve_keys :元の配列のキー名を保持するかどうか。

  • 関数:
    array_sliceは、アレイの指定された位置から開始し、特定の数の要素を傍受し、新しい配列を返します。 Array_sliceが元の配列を変更せず、新しい配列を返すことは注目に値します。

  • 例:

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$slicedArray = array_slice($array, 3, 4);
print_r($slicedArray);
?>

出力:

 Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 7
)
  • 該当するシナリオ:
    Array_sliceは、特定の期間の記録を傍受する、ページネーションクエリなど、特定の部品を元の配列から抽出する必要があるシナリオに適しています。

array_chunkarray_sliceの違い

  • 切断方法:

    • array_chunkは、アレイを固定サイズで分割し、複数の配列を含む2次元配列を返すことです。

    • array_sliceは、指定されたセグメントを配列からインターセプトし、元の配列を変更せずに新しい配列を返します。

  • 返品結果:

    • array_chunkは、小さな配列を含む配列(2次元配列)を返します。

    • array_sliceは単一の配列(サブアレイ)を返します。

  • 該当するシナリオ:

    • Array_chunkは、特にページングまたはバッチ処理が必要な場合、大きなアレイをサイズごとに複数の部分に分割するのに適しています。

    • Array_sliceは、特に特定のインデックス範囲を抽出する必要がある場合、配列から部品を抽出するのに適しています。

要約します

  • 大きなアレイを等しいサイズの複数のサブアレイに分割する必要がある場合は、 array_chunkを選択します。

  • 配列からデータの一部のみを抽出する必要がある場合は、 array_sliceを使用できます。

これらの2つの関数には、PHPで独自の使用シナリオがあります。それらの違いを理解することで、アレイの操作をより効率的に処理するのに役立ちます。