(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice — Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar
girdi dizisinin başlangıç
indisinden başlayan uzunluk sayıda elemanını siler
ve belirtildiği takdirde, bunların yerlerine
yenisi'ni yerleştirir.
Bilginize:
girdiiçindeki sayısal anahtarlar korunmaz.
Bilginize: Eğer
yenisibir dizi değilse(array) $yenisişeklinde bir tür dönüşümüne tabi tutulacaktır.yenisiolarak bir nesne veyanullbelirttiğiniz takdirde bu durum beklenmedik sonuçlar verebilir.
girdiÜzerinde işlem yapılacak dizi.
başlangıç
başlangıç pozitif bir değerse silinecek kısmın
başlangıcı girdi dizisinin başlangıcından
itibaren sayılır.
Negatif bir değerse girdi
dizisinin sonundan itibaren sayılır.
uzunluk
uzunluk verilmezse,
başlangıç'tan dizi sonuna kadar herşey silinir.
Belirtilmişse ve pozitifse başlangıç'tan dizi
sonuna kadar belirtilen kadar eleman silinir.
Belirtilmişse ve
negatifse başlangıç'tan dizi sonuna kadar, dizi
sonundan belirtilen sayıda eleman hariç herşey silinir.
başlangıç'tan dizi sonuna kadar herşeyin
silindiği durumda yenisi de belirtilecekse
uzunluk için count($girdi)
ifadesini kullanın.
yenisi
yenisi dizisi belirtilmişse silinen elemanların
yerine bu dizi konur.
Eğer başlangıç ve uzunluk
ile hiçbir şey silinmiyorsa yenisi dizisi
başlangıç konumunda dizi elemanlarının arasına
yerleştirilir.
Bilginize:
Yerleştirme sırasında
yenisidizisindeki anahtarlar korunmaz.
Eğer yenisi tek bir elemandan ibaretse ve bir
dizi, nesne veya null değilse değeri array() veya
köşeli parantezlerle sarmalamak gerekli değildir.
Diziden kaldırılan elemanlardan oluşan bir dizi ile döner.
| Sürüm: | Açıklama |
|---|---|
| 8.0.0 |
uzunluk artık boş olabiliyor.
|
Örnek 1 - array_splice() örnekleri
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
var_dump($input);
?>Yukarıdaki örneğin çıktısı:
array(2) {
[0]=>
string(3) "red"
[1]=>
string(5) "green"
}
array(2) {
[0]=>
string(3) "red"
[1]=>
string(6) "yellow"
}
array(2) {
[0]=>
string(3) "red"
[1]=>
string(6) "orange"
}
array(5) {
[0]=>
string(3) "red"
[1]=>
string(5) "green"
[2]=>
string(4) "blue"
[3]=>
string(5) "black"
[4]=>
string(6) "maroon"
}
Örnek 2 - array_splice() ve eşdeğerlerine örnekler
Aşağıdaki deyimler eşdeğerdir:
<?php
// $input'a iki elemen ekle
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
// $input'un son elemanını sil
array_pop($input);
array_splice($input, -1);
// $input'un ilk elemanını sil
array_shift($input);
array_splice($input, 0, 1);
// $input'un başına bir eleman ekle
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
// $input'un $x indisindeki değerini değiştir
$input[$x] = $y; // anahtarlarla konumların aynı olduğu durumda
array_splice($input, $x, 1, $y);
?>