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

phparray_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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Kodni bajarish natijasi:

php['a', 'b', 'c']

Misol

Keling ikkinchi (raqami 1 bo'lgan) elementdan boshlab, 3 ta elementni kesib olaylik:

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1, 3);
  var_dump($res);
?>

Kodni bajarish natijasi:

php['b', 'c', 'd']

Misol

Keling ikkinchi (raqami 1 bo'lgan) elementdan boshlab massiv oxirigacha kesib olaylik. Buning uchun uchinchi parametrni yozmaymiz:

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1);
  var_dump($res);
?>

Kodni bajarish natijasi:

php['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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, -2, 2);
  var_dump($res);
?>

Kodni bajarish natijasi:

php['d', 'e']

Misol

Standart bo'yicha massiv kesish paytida kalitlarni saqlamaydi:

php<?php
  $arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Kodni bajarish natijasi:

php['a', 'b', 'c']

Misol

Keling, kalitlar saqlansin. Buning uchun oxirgi parametrni true deb o'rnatamiz:

php<?php
  $arr = [1 => 'a', 2 => 'b', 3 => 'c'];
  
  $res = array_slice($arr, 0, 3, true);
  var_dump($res);
?>

Kodni bajarish natijasi:

php[1 => 'a', 2 => 'b', 3 => 'c']

Misol

Satr kalitlari kesish paytida saqlanib qoladi:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Kodni bajarish natijasi:

php['a' => 1, 'b' => 2, 'c' => 3]

Shuningdek qarang

  • array_splice funksiyasini,
    u massivning bir qismini kesib oladi va bunda massivning o'zi o'zgaradi