menu

関数 array_splice

関数 array_splice は、配列の一部を切り取って返します。 これにより、切り取られた部分は配列から消えます。 切り取られた部分の代わりに、新しい要素を挿入することができます。

最初のパラメータには、分割する配列を指定します。 2番目のパラメータには、どの要素から切り取りを開始するかを指定し、 3番目には、いくつの要素を切り取るかを指定します。 3番目のパラメータは負の値にすることができます - この場合、末尾から数え始めます (-1は最後の要素、-2は最後から2番目の要素、以下同様)。 3番目のパラメータは、指定を省略することができます - この場合、 配列は終端まで切り取られます。

最後の任意パラメータでは、削除された要素の代わりに挿入される要素の配列を指定できます。

構文

array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array

最初の要素(番号0)から、3個の要素を切り取ってみましょう:

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

コードの実行結果:

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

このとき、配列 $arr は以下のようになります:

['d', 'e']

2番目の要素(番号1)から、3個の要素を切り取ってみましょう:

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

コードの実行結果:

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

このとき、配列 $arr は以下のようになります:

['a', 'e']

2番目の要素(番号1)から配列の終端までを切り取ってみましょう。 これには、3番目のパラメータを記述しません:

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

コードの実行結果:

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

このとき、配列 $arr は以下のようになります:

['a']

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

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

コードの実行結果:

['d', 'e']

このとき、配列 $arr は以下のようになります:

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

2番目の要素(番号1)から、2個の要素を切り取り、 その代わりに要素 1, 2, 3 を挿入してみましょう:

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

コードの実行結果:

['b', 'c']

このとき、配列 $arr は以下のようになります:

['a', 1, 2, 3, 'd', 'e']

何も切り取らずに、位置 1 から始めて要素 1, 2, 3 を挿入してみましょう。 これには、3番目のパラメータをゼロに設定します:

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

コードの実行結果:

[]

このとき、配列 $arr は以下のようになります:

['a', 1, 2, 3, 'b', 'c', 'd', 'e']

関連項目

  • 関数 array_slice
    これは配列自体を変更せずに、配列の一部を切り取ります。
日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否