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функциясын,
ол массивтің бір бөлігін кесіп, массивтің өзін өзгертеді