141 of 410 menu

関数 array_slice

関数 array_slice は配列の一部を切り取って 返します。元の配列自体は変更されません。 最初のパラメータには切り取る対象の配列を 指定します。2番目のパラメータは、 切り取りを開始する要素の位置を指定し、3番目 - 切り取る要素の数を指定します。2番目のパラメータ は負の値にすることができます - この場合 末尾からのカウントが始まります(-1 - 最後の要素、 -2 - 最後から2番目の要素、以降同様)。3番目のパラメータ は省略可能です - この場合 配列の末尾まで切り取られます。

最後のオプションパラメータは 切り取り時にキーを保持するかどうかを調整します。 true - 保持する、 false (デフォルト) - 保持しない。 文字列キーはこのパラメータの値に関係なく 常に保持されます。

構文

array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array

最初の要素(インデックス 0)から、3 つ分の要素を切り取ってみましょう:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_slice($arr, 0, 3); var_dump($res); ?>

コード実行結果:

['a', 'b', 'c']

2番目の要素(インデックス 1)から、3 つ分の要素を切り取ってみましょう:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_slice($arr, 1, 3); var_dump($res); ?>

コード実行結果:

['b', 'c', 'd']

2番目の要素(インデックス 1)から配列の末尾までの要素を切り取ってみましょう。このためには3番目の パラメータを省略します:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_slice($arr, 1); var_dump($res); ?>

コード実行結果:

['b', 'c', 'd', 'e']

最後から2番目の要素から、 2 つ分の要素を切り取ってみましょう。このためには2番目のパラメータ を -2(最後から2番目の要素の位置)に設定します:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_slice($arr, -2, 2); var_dump($res); ?>

コード実行結果:

['d', 'e']

デフォルトでは、array_slice は切り取り時に キーを保持しません:

<?php $arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c']; $res = array_slice($arr, 0, 3); var_dump($res); ?>

コード実行結果:

['a', 'b', 'c']

キーを保持するようにしてみましょう。 このためには最後のパラメータを true に設定します:

<?php $arr = [1 => 'a', 2 => 'b', 3 => 'c']; $res = array_slice($arr, 0, 3, true); var_dump($res); ?>

コード実行結果:

[1 => 'a', 2 => 'b', 3 => 'c']

文字列キーは切り取り時に常に保持されます:

<?php $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $res = array_slice($arr, 0, 3); var_dump($res); ?>

コード実行結果:

['a' => 1, 'b' => 2, 'c' => 3]

関連項目

  • 関数 array_splice,
    配列の一部を切り取り、元の配列自体を変更します
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否