array_splice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_spliceBir dizinin belli bir bölümünü silip yerine başka şeyler koyar

Açıklama

array_splice(
    array&$girdi,
    int$başlangıç,
    ?int$uzunluk = null,
    mixed$yenisi = []
): array

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:

girdi içindeki sayısal anahtarlar korunmaz.

Bilginize: Eğer yenisi bir dizi değilse (array) $yenisi şeklinde bir tür dönüşümüne tabi tutulacaktır. yenisi olarak bir nesne veya null belirttiğiniz takdirde bu durum beklenmedik sonuçlar verebilir.

Bağımsız Değişkenler

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.

İpucu

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 yenisi dizisindeki 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.

Dönen Değerler

Diziden kaldırılan elemanlardan oluşan bir dizi ile döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0uzunluk artık boş olabiliyor.

Örnekler

Ö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);

?>

Ayrıca Bakınız

  • array_merge() - Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
  • array_slice() - Bir dizinin belli bir bölümünü döndürür
  • unset() - Belirtilen değişkeni bildirimsiz yapar
To Top