ფუნქცია 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,
რომელიც მასივის ნაწილს აჭრის, ამასთანავე თავად მასივს ცვლის