array_slice функциясы

array_slice функциясы массивдин бир бөлүгүн кесип алып, кайтарат. Массивдин өзү өзгөрбөйт. Биринчи параметр катары кесилип алынуучу массив берилет. Экинчи параметр кайсы элементтен баштап кесип алуу керектигин, үчүнчү параметр - канча элементти кесип алуу керектигин көрсөтөт. Экинчи параметр терс сан болушу мүмкүн - бул учурда эсептөө массивдин аягынан башталат (-1 - акыркы элемент, -2 - акыркыдан мурунку жана ушу сыяктуу). Үчүнчү параметрди тактоого мүмкүн болбойт - бул учурда массив аягына чейин кесилип алынат.

Акыркы милдеттүү эмес параметр кесип алуу учурунда ачкычтар сакталып калышы же калбашы керектигин көзөмөлдөйт, true - сактоо, false (демейки) - сактабоо. Сап ачкычтары бул параметрдин маанисине көз карандысыз сакталып калат.

Синтаксис

phparray_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array

Мисал

Биринчи (номеру 0) элементтен баштап, 3 элементти кесип алалы:

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

Кодду иштетүүнүн натыйжасы:

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

Мисал

Экинчи (номеру 1) элементтен баштап, 3 элементти кесип алалы:

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

Кодду иштетүүнүн натыйжасы:

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

Мисал

Экинчи (номеру 1) элементтен баштап массивдин аягына чейин кесип алалы. Бул үчүн үчүнчү параметрди жазбайбыз:

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

Кодду иштетүүнүн натыйжасы:

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

Мисал

Акыркыдан мурунку элементтен баштап, 2 элементти кесип алалы. Бул үчүн экинчи параметрди -2 (акыркыдан мурунку элементтин позициясы) кылабыз:

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

Кодду иштетүүнүн натыйжасы:

php['d', 'e']

Мисал

Демейки боюнча массив кесип алуу учурунда ачкычтарды сактабайт:

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

Кодду иштетүүнүн натыйжасы:

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

Мисал

Ачкычтар сакталып калыш үчүн кылалы. Бул үчүн акыркы параметрди true кылабыз:

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

Кодду иштетүүнүн натыйжасы:

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

Мисал

Сап ачкычтары кесип алуу учурунда сакталат:

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

Кодду иштетүүнүн натыйжасы:

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

Ошондой эле караңыз

  • array_splice функциясын,
    ал массивдин бир бөлүгүн кесип алып, массивдин өзүн өзгөртөт