Documentación offline PHP master

array_splice

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

array_splice

Elimina y reemplaza una porción de array

Descripción#

array_splice(array $array, int $offset, [int $length], [mixed $replacement]): array
```php

`array_splice` elimina los elementos designados por `offset` y `length` del array `array` y los reemplaza por los elementos del array `replacement`, si este último es proporcionado.

> [!NOTE]
> Las claves numéricas en `array` no son preservadas.

> [!NOTE]
> Si `replacement` no es un array, se convertirá en uno por [conversión](#language.types.array.casting) (i.e. `(array) $replacement`). Esto puede producir resultados inesperados al utilizar un objeto o `null` como argumento `replacement`.

## Parámetros

`array`  
El array de entrada.

`offset`  
Si `offset` es positivo, el inicio de la sección a eliminar estará en esta posición partiendo del inicio del array `array`.

Si `offset` es negativo, el inicio de la sección a eliminar estará en esta posición partiendo del final del array `array`.

`length`  
Si `length` es omitido, todos los elementos del array desde la posición `offset` hasta el final del array serán eliminados.

Si `length` es proporcionado y positivo, entonces tantos elementos serán eliminados.

Si `length` es proporcionado y negativo, entonces tantos elementos serán eliminados del final del array.

Si `length` es proporcionado y vale cero, entonces ningún elemento será eliminado.

> [!TIP]
> Para eliminar todo desde la posición `offset` hasta el final del array cuando `replacement` también es proporcionado, utilizar `count($input)` para `length`.

`replacement`  
Si el `array` `replacement` es proporcionado, entonces los elementos eliminados son reemplazados por los elementos de este `array`.

Si el `offset` y `length` son tales que nada es eliminado, entonces los elementos del `array` `replacement` son insertados en la posición `offset`.

> [!NOTE]
> Las claves del `array` `replacement` no son preservadas.

Si `replacement` es solo un elemento no es necesario rodear el elemento con `array()` o corchetes, a menos que el elemento sea él mismo un array, un objeto o `null`.

## Valores devueltos

Retorna un `array` conteniendo los elementos extraídos.

## Historial de cambios

| Versión | Descripción                 |
|---------|-----------------------------|
| 8.0.0   | `length` ahora es nullable. |

## Ejemplos

Ejemplos con `array_splice`
El ejemplo anterior mostrará:

    array(2) {
      [0]=>
      string(3) "red"
      [1]=>
      string(5) "green"
    }
    array(2) {
      [0]=>
      string(3) "red"
      [1]=>
      string(6) "yellow"
    }
    array(2) {
      [0]=>
      string(3) "red"
      [1]=>
      string(6) "orange"
    }
    array(5) {
      [0]=>
      string(3) "red"
      [1]=>
      string(5) "green"
      [2]=>
      string(4) "blue"
      [3]=>
      string(5) "black"
      [4]=>
      string(6) "maroon"
    }

Declaraciones equivalentes a ejemplos de `array_splice` diversos

Las declaraciones siguientes son equivalentes:

```php

Véase también#

array_merge, array_slice, unset