Hàm array_splice() của PHP

Mô hình

Loại bỏ phần tử từ mảng và thay thế bằng phần tử mới:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1);
?>

Chạy ví dụ

Định nghĩa và cách sử dụng

Hàm array_splice() loại bỏ các phần tử được chọn từ mảng và thay thế chúng bằng các phần tử mới. Hàm này cũng sẽ trả về mảng chứa các phần tử bị loại bỏ.

Lưu ý:Nếu hàm không loại bỏ bất kỳ phần tử nào (length=0), thì sẽ từ start Chèn vị trí của tham số vào mảng bị thay thế (xem ví dụ 2).

Ghi chú:Không giữ lại tên khóa của mảng bị thay thế.

Giải thích

Hàm array_splice() tương tự như array_slice() Hàm tương tự, chọn một loạt các phần tử trong mảng, nhưng không trả về mà thay vào đó là loại bỏ chúng và thay thế bằng giá trị khác.

Nếu cung cấp tham số thứ tư, thì những phần tử được chọn trước đó sẽ được thay thế bằng mảng được chỉ định bởi tham số thứ tư.

Mảng được tạo ra cuối cùng sẽ được trả về.

Ngữ pháp

array_splice(array,start,length,array)
Tham số Mô tả
array Bắt buộc. Quy định mảng.
start

Bắt buộc. Số lượng. Quy định vị trí bắt đầu loại bỏ phần tử.

  • 0 = phần tử đầu tiên.
  • Nếu giá trị được thiết lập thành số dương, thì bắt đầu từ vị trí được chỉ định bởi giá trị này trong mảng và loại bỏ.
  • Nếu giá trị được thiết lập thành số âm, thì bắt đầu từ phần cuối của mảng và loại bỏ số lượng vị trí được chỉ định bởi giá trị này.
  • -2 có nghĩa là bắt đầu từ phần tử thứ hai từ cuối mảng.
length

Tùy chọn. Số giá trị. Định nghĩa số lượng phần tử cần xóa bỏ, cũng là độ dài của mảng được trả về.

  • Nếu giá trị này được thiết lập thành số dương, sẽ xóa bỏ số lượng phần tử này.
  • Nếu giá trị này được thiết lập thành số âm, sẽ xóa bỏ tất cả các phần tử từ vị trí start đến cuối mảng, tính từ phần tử cuối cùng.
  • Nếu giá trị này không được thiết lập, sẽ xóa bỏ tất cả các phần tử từ vị trí được thiết lập bởi tham số start đến cuối mảng.
array

Tùy chọn. Định nghĩa mảng chứa các phần tử cần chèn vào mảng ban đầu.

Nếu chỉ có một phần tử, có thể thiết lập thành chuỗi, không cần thiết lập thành mảng.

Chi tiết kỹ thuật

Trả về giá trị: Trả về mảng chứa các phần tử đã được lấy ra.
Phiên bản PHP: 4+

Thực hành thêm

Ví dụ 1

Cùng với ví dụ ở phần trước của trang này, nhưng trả về mảng được xuất ra:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
?>

Chạy ví dụ

Ví dụ 2

Đặt tham số length thành 0:

<?php
$a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,0,$a2);
print_r($a1);
?>

Chạy ví dụ