АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
141 of 410 menu

Функцыя 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,
    якая адрэзвае частку масіва, змяняючы пры гэтым сам масіў
byenru