Fungsi array_splice
Fungsi array_splice memotong dan mengembalikan
bagian array. Bagian yang dipotong akan
menghilang dari array. Di tempat bagian yang dipotong,
elemen baru dapat disisipkan.
Parameter pertama menentukan array yang akan dipotong. Parameter kedua menentukan, dari elemen mana pemotongan dimulai, dan parameter ketiga - berapa banyak elemen yang akan dipotong. Parameter ketiga dapat bernilai negatif - dalam hal ini penghitungan dimulai dari akhir (-1 - elemen terakhir, -2 - elemen kedua dari akhir, dan seterusnya). Parameter ketiga dapat dihilangkan - dalam hal ini array akan dipotong hingga akhir.
Pada parameter terakhir yang opsional, dapat ditentukan array elemen, yang akan disisipkan menggantikan elemen yang dihapus.
Sintaksis
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Contoh
Mari kita potong elemen dari yang pertama (memiliki
nomor 0), 3 buah:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Hasil eksekusi kode:
['a', 'b', 'c']
Sedangkan array $arr akan menjadi seperti ini:
['d', 'e']
Contoh
Mari kita potong elemen dari yang kedua (memiliki
nomor 1), 3 buah:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Hasil eksekusi kode:
['b', 'c', 'd']
Sedangkan array $arr akan menjadi seperti ini:
['a', 'e']
Contoh
Mari kita potong elemen dari yang kedua (memiliki nomor 1) hingga akhir array. Untuk itu, parameter ketiga tidak ditulis:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Hasil eksekusi kode:
['b', 'c', 'd', 'e']
Sedangkan array $arr akan menjadi seperti ini:
['a']
Contoh
Mari kita potong elemen dari kedua dari akhir,
2 buah. Untuk itu, parameter kedua
diatur ke -2 (posisi elemen kedua dari akhir):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Hasil eksekusi kode:
['d', 'e']
Sedangkan array $arr akan menjadi seperti ini:
['a', 'b', 'c']
Contoh
Mari kita potong elemen dari yang kedua (memiliki
nomor 1), 2 buah, dan sebagai gantinya menyisipkan
elemen 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Hasil eksekusi kode:
['b', 'c']
Sedangkan array $arr akan menjadi seperti ini:
['a', 1, 2, 3, 'd', 'e']
Contoh
Mari kita tidak memotong apa pun,
tetapi hanya menyisipkan elemen 1, 2,
3 mulai dari posisi 1. Untuk
itu, parameter ketiga diatur ke nol:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Hasil eksekusi kode:
[]
Sedangkan array $arr akan menjadi seperti ini:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Lihat juga
-
fungsi
array_slice,
yang memotong bagian array, tanpa mengubah array itu sendiri