array_splice

FunctionParams and return types changed in PHP 8.0

Remove a portion of the array and replace it with something else.

PHP 5
PHP 7
PHP 8.0
Improved
PHP 8.1
PHP 8.2-8.3
PHP 8.4
PHP 8.5
PHP 8.6

array_splice Function synopsis

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

Parameters

$array

Passed by referenceTypearray

The input array.

$offset

Typeint

If $offset is positive then the start of the removed portion is at that offset from the beginning of the $array array.

$length

OptionalType?intDefault valuenull

If $length is omitted, removes everything from $offset to the end of the array.

$replacement

OptionalTypemixedDefault value[]

If $replacement array is specified, then the removed elements are replaced with elements from this array.

Note that the parameter $array is passed by reference, and contains additional/updated context data that may be useful.

Return value

Typearray

Returns an array consisting of the extracted elements.

Changes to the array_splice Function

PHP 8.0

  • Return type added: array
  • Parameter name of parameter #1 changed: $arg to $array
  • Parameter type added for parameter #1 ($array): array
  • Parameter type added for parameter #2 ($offset): int
  • Parameter type added for parameter #3 ($length): ?int
  • Parameter default value added for position #3 ($length): null
  • Parameter type added for parameter #4 ($replacement): mixed
  • Parameter default value added for position #4 ($replacement): []
  array_splice(
-     &$arg,
+     array &$array,
-     $offset,
+     int $offset,
-     $length,
+     ?int $length = null,
-     $replacement
+     mixed $replacement = []
-   )
+   ): array

array_splice Function Availability

PHP VersionAvailability
PHP 8.6Upcoming Release Yes
PHP 8.5Supported (Latest) Yes
PHP 8.4Supported Yes
PHP 8.3Security-Fixes Only Yes
PHP 8.2Security-Fixes Only Yes
PHP 8.1Unsupported Yes
PHP 8.0Unsupported Yes
PHP 7.4Unsupported Yes
PHP 7.3Unsupported Yes
PHP 7.2Unsupported Yes
PHP 7.1Unsupported Yes
PHP 7.0Unsupported Yes
PHP 5.6Unsupported Yes
PHP 5.5Unsupported Yes
PHP 5.4Unsupported Yes
PHP 5.3Unsupported Yes