menu

array_splice-funktio

Funktio array_splice leikkaa pois ja palauttaa osan taulukosta. Samalla leikattu osa katoaa taulukosta. Leikatun osan tilalle voidaan lisätä uusia elementtejä.

Ensimmäisenä parametrina määritetään leikattava taulukko. Toisella parametri määrittää, mistä elementistä leikkaaminen aloitetaan, ja kolmas - kuinka monta elementtiä leikataan. Kolmas parametri voi olla negatiivinen - tässä tapauksessa laskenta alkaa lopusta (-1 - viimeinen elementti, -2 - toiseksi viimeinen jne.). Kolmatta parametria ei tarvitse lainkaan määrittää - tässä tapauksessa taulukko leikataan aina loppuun asti.

Viimeisellä valinnaisella parametrilla voidaan määrittää poistettujen elementtien tilalle lisättävien elementtien taulukko.

Syntaksi

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

Esimerkki

Leikataan elementit ensimmäisestä (indeksi 0), 3 kappaletta:

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

Koodin suorituksen tulos:

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

Tällöin taulukko $arr näyttää tältä:

['d', 'e']

Esimerkki

Leikataan elementit toisesta (indeksi 1), 3 kappaletta:

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

Koodin suorituksen tulos:

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

Tällöin taulukko $arr näyttää tältä:

['a', 'e']

Esimerkki

Leikataan elementit toisesta (indeksi 1) taulukon loppuun asti. Tätä varten kolmatta parametria ei kirjoiteta:

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

Koodin suorituksen tulos:

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

Tällöin taulukko $arr näyttää tältä:

['a']

Esimerkki

Leikataan elementit toiseksi viimeisestä, 2 kappaletta. Tätä varten toinen parametri asetetaan arvoon -2 (toiseksi viimeisen elementin sijainti):

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

Koodin suorituksen tulos:

['d', 'e']

Tällöin taulukko $arr näyttää tältä:

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

Esimerkki

Leikataan elementit toisesta (indeksi 1), 2 kappaletta, ja niiden tilalle lisätään elementit 1, 2, 3:

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

Koodin suorituksen tulos:

['b', 'c']

Tällöin taulukko $arr näyttää tältä:

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

Esimerkki

Ei leikata mitään, vaan yksinkertaisesti lisätään elementit 1, 2, 3 alkaen sijainnista 1. Tätä varten kolmas parametri asetetaan nollaan:

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

Koodin suorituksen tulos:

[]

Tällöin taulukko $arr näyttää tältä:

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

Katso myös

  • funktion array_slice,
    joka leikkaa osan taulukosta muuttamatta itse taulukkoa
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää