array_splice Fonksiyonu
array_splice fonksiyonu, bir dizinin bir bölümünü
keser ve döndürür. Bu işlem sırasında kesilen bölüm
diziden kaybolur. Kesilen bölüm yerine yeni öğeler
eklenebilir.
İlk parametre olarak kesilecek dizi belirtilir. İkinci parametre olarak, kesmeye hangi elemandan başlanacağı belirtilir, üçüncü parametre olarak ise kaç elemanın kesileceği belirtilir. Üçüncü parametre negatif olabilir - bu durumda sayım sondan başlayacaktır (-1 - son eleman, -2 - sondan bir önceki eleman vb.). Üçüncü parametre hiç belirtilmeyebilir - bu durumda dizi sonuna kadar kesilir.
Son isteğe bağlı parametrede, silinen öğelerin yerine eklenecek öğelerin dizisi belirtilebilir.
Sözdizimi
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Örnek
Birinci elemandan (numara 0'dır), 3 adet
elemanı keselim:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
['a', 'b', 'c']
Bu durumda $arr dizisi şu şekilde görünecektir:
['d', 'e']
Örnek
İkinci elemandan (numara 1'dir), 3 adet
elemanı keselim:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
['b', 'c', 'd']
Bu durumda $arr dizisi şu şekilde görünecektir:
['a', 'e']
Örnek
İkinci elemandan (numara 1'dir) dizinin sonuna kadar olan elemanları keselim. Bunun için üçüncü parametreyi yazmıyoruz:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
['b', 'c', 'd', 'e']
Bu durumda $arr dizisi şu şekilde görünecektir:
['a']
Örnek
Sondan ikinci elemandan başlayarak, 2 adet
elemanı keselim. Bunun için ikinci parametreyi
-2 olarak ayarlayalım (sondan ikinci
elemanın konumu):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
['d', 'e']
Bu durumda $arr dizisi şu şekilde görünecektir:
['a', 'b', 'c']
Örnek
İkinci elemandan (numara 1'dir), 2 adet
elemanı keselim ve yerine 1, 2,
3 öğelerini ekleyelim:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
['b', 'c']
Bu durumda $arr dizisi şu şekilde görünecektir:
['a', 1, 2, 3, 'd', 'e']
Örnek
Hiçbir şey kesmeyelim, sadece 1, 2,
3 öğelerini 1 numaralı konumdan
başlayarak ekleyelim. Bunun için üçüncü parametre
sıfır olarak ayarlanır:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
[]
Bu durumda $arr dizisi şu şekilde görünecektir:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Ayrıca Bakınız
-
array_slicefonksiyonu,
dizinin kendisini değiştirmeden bir bölümünü keser