menu

Função array_splice

A função array_splice remove e retorna parte de um array. Ao mesmo tempo, a parte removida desaparece do array. No lugar da parte removida é possível inserir novos elementos.

O primeiro parâmetro especifica o array a ser modificado. O segundo parâmetro especifica a partir de qual elemento iniciar a remoção, e o terceiro - quantos elementos remover. O terceiro parâmetro pode ser negativo - neste caso a contagem começará a partir do final (-1 - último elemento, -2 - penúltimo e assim por diante). O terceiro parâmetro pode ser omitido - neste caso o array será cortado até o final.

No último parâmetro opcional, pode-se definir um array de elementos que serão inseridos no lugar dos removidos.

Sintaxe

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

Exemplo

Vamos remover elementos a partir do primeiro (que possui índice 0), 3 unidades:

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

Resultado da execução do código:

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

Ao mesmo tempo, o array $arr ficará assim:

['d', 'e']

Exemplo

Vamos remover elementos a partir do segundo (que possui índice 1), 3 unidades:

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

Resultado da execução do código:

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

Ao mesmo tempo, o array $arr ficará assim:

['a', 'e']

Exemplo

Vamos remover elementos a partir do segundo (que possui índice 1) até o final do array. Para isso, não escrevemos o terceiro parâmetro:

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

Resultado da execução do código:

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

Ao mesmo tempo, o array $arr ficará assim:

['a']

Exemplo

Vamos remover elementos a partir do penúltimo, 2 unidades. Para isso, o segundo parâmetro será definido como -2 (posição do penúltimo elemento):

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

Resultado da execução do código:

['d', 'e']

Ao mesmo tempo, o array $arr ficará assim:

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

Exemplo

Vamos remover elementos a partir do segundo (que possui índice 1), 2 unidades, e em seu lugar inserir os elementos 1, 2, 3:

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

Resultado da execução do código:

['b', 'c']

Ao mesmo tempo, o array $arr ficará assim:

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

Exemplo

Vamos não remover nada, e simplesmente inserir os elementos 1, 2, 3 a partir da posição 1. Para isso, o terceiro parâmetro é definido como zero:

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

Resultado da execução do código:

[]

Ao mesmo tempo, o array $arr ficará assim:

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

Veja também

  • a função array_slice,
    que remove parte de um array sem alterar o array original
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar