array_slice funksiyasi
array_slice funksiyasi massivning bir qismini kesib oladi va
qaytaradi. Bunda massivning o'zi o'zgarmaydi.
Birinchi parametr sifatida kesiladigan massiv
ko'rsatiladi. Ikkinchi parametr bilan qaysi elementdan
boshlab kesish ko'rsatiladi, uchinchi parametr
bilan esa nechta element kesish ko'rsatiladi. Ikkinchi parametr
manfiy bo'lishi mumkin - bu holda
hisob oxirdan boshlanadi (-1 - oxirgi element,
-2 - oxirgidan oldingi va hokazo). Uchinchi parametr
umuman ko'rsatilmasligi mumkin - bu holda
massiv oxirigacha kesiladi.
Oxirgi ixtiyoriy parametr kesish paytida
kalitlarni saqlab qolish yoki qolmasligini boshqaradi, true -
saqlansin, false (standart bo'yicha) - saqlanmasin.
Satr kalitlari bu parametrning qiymatidan qat'iy nazar
saqlanib qoladi.
Sintaksis
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Misol
Keling birinchi (raqami
0 bo'lgan) elementdan boshlab, 3 ta elementni kesib olaylik:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kodni bajarish natijasi:
['a', 'b', 'c']
Misol
Keling ikkinchi (raqami
1 bo'lgan) elementdan boshlab, 3 ta elementni kesib olaylik:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Kodni bajarish natijasi:
['b', 'c', 'd']
Misol
Keling ikkinchi (raqami
1 bo'lgan) elementdan boshlab massiv oxirigacha kesib olaylik. Buning uchun uchinchi
parametrni yozmaymiz:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Kodni bajarish natijasi:
['b', 'c', 'd', 'e']
Misol
Keling oxirgidan oldingi elementdan boshlab,
2 ta elementni kesib olaylik. Buning uchun ikkinchi parametrni
-2 ga (oxirgidan oldingi elementning pozitsiyasi)
o'rnatamiz:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Kodni bajarish natijasi:
['d', 'e']
Misol
Standart bo'yicha massiv kesish paytida kalitlarni saqlamaydi:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kodni bajarish natijasi:
['a', 'b', 'c']
Misol
Keling, kalitlar saqlansin. Buning uchun oxirgi parametrni true deb o'rnatamiz:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Kodni bajarish natijasi:
[1 => 'a', 2 => 'b', 3 => 'c']
Misol
Satr kalitlari kesish paytida saqlanib qoladi:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kodni bajarish natijasi:
['a' => 1, 'b' => 2, 'c' => 3]
Shuningdek qarang
-
array_splicefunksiyasini,
u massivning bir qismini kesib oladi va bunda massivning o'zi o'zgaradi