PHP array_slice() Function

Quick summary: The PHP array_slice() function extracts a portion of an array.

PHP array_slice() Syntax

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

PHP array_slice() Basic examples

var_dump(array_slice([1,2,3,4], 1, 2));
PHP
Output:
array(2) {
  [0]=> int(2)
  [1]=> int(3)
}

Extracts elements starting at index 1.

PHP array_slice() Real-world usage

$items = range(1, 10);
$page = array_slice($items, 0, 3);
var_dump($page);
PHP
Output:
array(3) {
  [0]=> int(1)
  [1]=> int(2)
  [2]=> int(3)
}

Implements simple pagination.

PHP array_slice() Edge cases

var_dump(array_slice(['a'=>1,'b'=>2,'c'=>3], 1, 1, true));
PHP
Output:
array(1) {
  ["b"]=> int(2)
}

Preserves keys when the fourth argument is true.

PHP array_slice() Common mistakes

Confusing array_slice with array_splice

array_slice does not modify the original array.

Incorrect
$arr=[1,2,3]; array_slice($arr,1); var_dump($arr);
Correct
$arr=[1,2,3]; array_splice($arr,1); var_dump($arr);

Use array_splice when you need to modify the array.

PHP array_slice() Frequently Asked Questions

What does array_slice() do?

Extracts a portion of an array.

Syntax?

array_slice(array, offset, length, preserve_keys).

Negative offset?

Counts from end.

Preserve keys?

Optional.

Does it modify array?

No.

Use case?

Subsets or pagination.

Handles associative arrays?

Yes.

Performance?

Good.

Empty result?

If offset exceeds size.

Supports nested arrays?

Yes.

Maintains order?

Yes.

Alternative?

array_splice().

PHP array_slice() Related PHP Functions