array_slice

FunctionParams and return types changed in PHP 8.0

Extract a slice of the array.

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_slice Function synopsis

array_slice(
    array $array,
    int $offset,
    ?int $length = null,
    bool $preserve_keys = false
  ): array

Parameters

$array

Typearray

The input array.

$offset

Typeint

If $offset is non-negative, the sequence will start at that offset in the $array.

$length

OptionalType?intDefault valuenull

If $length is given and is positive, then the sequence will have up to that many elements in it.

$preserve_keys

OptionalTypeboolDefault valuefalse

array_slice will reorder and reset the integer array indices by default. This behaviour can be changed by setting $preserve_keys to true. String keys are always preserved, regardless of this parameter.

Return value

Typearray

Returns the slice. If the offset is larger than the size of the array, an empty array is returned.

Changes to the array_slice 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 ($preserve_keys): bool
  • Parameter default value added for position #4 ($preserve_keys): false
  array_slice(
-     $arg,
+     array $array,
-     $offset,
+     int $offset,
-     $length,
+     ?int $length = null,
-     $preserve_keys
+     bool $preserve_keys = false
-   )
+   ): array

array_slice 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