Функцыя array_slice
Функцыя array_slice
адрэзвае і вяртае
частку масіва. Пры гэтым сам масіў не мяняецца.
Першым параметрам паказваецца масіў для
разрэзання. Другім параметрам паказваецца,
з якога элемента пачынаць адрэзванне, а трэцім
- колькі элементаў адрэзаць. Другі параметр
можа быць адмоўным - у гэтым выпадку
адлік пачнецца з канца (-1
- апошні элемент,
-2
- перадапошні і гэтак далей). Трэці параметр
можна наогул не паказваць - у гэтым выпадку
масіў адрэжацца да самага канца.
Апошні неабавязковы параметр рэгулюе
захоўваць ці ключы пры адрэзванні, true
-
захоўваць, false
(па змаўчанні) - не захоўваць.
Радковыя ключы захоўваюцца, незалежна ад
значэння гэтага параметра.
Сінтаксіс
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Прыклад
Давайце вырэжам элементы з першага (мае
нумар 0
), 3
штукі:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Вынік выканання кода:
['a', 'b', 'c']
Прыклад
Давайце вырэжам элементы з другога (мае
нумар 1
), 3
штукі:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Вынік выканання кода:
['b', 'c', 'd']
Прыклад
Давайце вырэжам элементы з другога (мае
нумар 1
) да канца масіва. Для гэтага трэці
параметр не пішам:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Вынік выканання кода:
['b', 'c', 'd', 'e']
Прыклад
Давайце вырэжам элементы з перадапошняга,
2
штукі. Для гэтага другі параметр
усталюем у -2
(пазіцыя перадапошняга
элемента):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Вынік выканання кода:
['d', 'e']
Прыклад
Па змаўчанні масіў не захоўвае ключы пры выразанні:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Вынік выканання кода:
['a', 'b', 'c']
Прыклад
Давайце зробім так, каб ключы захоўваліся. Для гэтага апошні параметр усталюем як true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Вынік выканання кода:
[1 => 'a', 2 => 'b', 3 => 'c']
Прыклад
Радковыя ключы захоўваюцца пры выразанні:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Вынік выканання кода:
['a' => 1, 'b' => 2, 'c' => 3]
Глядзіце таксама
-
функцыю
array_splice
,
якая адрэзвае частку масіва, змяняючы пры гэтым сам масіў