menu

Funkcja array_splice

Funkcja array_splice wycina i zwraca część tablicy. Przy tym wycięta część znika z tablicy. W miejsce wyciętej części można wstawiać nowe elementy.

Pierwszym parametrem wskazuje się tablicę do przecięcia. Drugim parametrem wskazuje się, od którego elementu rozpocząć wycinanie, a trzecim - ile elementów wyciąć. Trzeci parametr może być ujemny - w tym przypadku odliczanie rozpocznie się od końca (-1 - ostatni element, -2 - przedostatni i tak dalej). Trzeciego parametru można w ogóle nie wskazywać - w tym przypadku tablica zostanie wycięta do samego końca.

W ostatnim parametrze opcjonalnym można zadać tablicę elementów, które będą wstawione w miejsce usuniętych.

Składnia

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

Przykład

Wytnijmy elementy od pierwszego (ma numer 0), 3 sztuki:

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

Wynik wykonania kodu:

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

Przy tym tablica $arr będzie wyglądać tak:

['d', 'e']

Przykład

Wytnijmy elementy od drugiego (ma numer 1), 3 sztuki:

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

Wynik wykonania kodu:

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

Przy tym tablica $arr będzie wyglądać tak:

['a', 'e']

Przykład

Wytnijmy elementy od drugiego (ma numer 1) do końca tablicy. W tym celu trzeciego parametru nie piszemy:

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

Wynik wykonania kodu:

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

Przy tym tablica $arr będzie wyglądać tak:

['a']

Przykład

Wytnijmy elementy od przedostatniego, 2 sztuki. W tym celu drugi parametr ustawimy na -2 (pozycja przedostatniego elementu):

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

Wynik wykonania kodu:

['d', 'e']

Przy tym tablica $arr będzie wyglądać tak:

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

Przykład

Wytnijmy elementy od drugiego (ma numer 1), 2 sztuki, a w zamian wstawmy elementy 1, 2, 3:

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

Wynik wykonania kodu:

['b', 'c']

Przy tym tablica $arr będzie wyglądać tak:

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

Przykład

Nie wycinajmy niczego, a po prostu wstawmy elementy 1, 2, 3 zaczynając od pozycji 1. W tym celu trzeci parametr ustawiamy na zero:

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

Wynik wykonania kodu:

[]

Przy tym tablica $arr będzie wyglądać tak:

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

Zobacz też

  • funkcję array_slice,
    która wycina część tablicy, nie zmieniając przy tym samej tablicy
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć