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