Hàm array_slice() của PHP
Mô hình
Bắt đầu lấy từ phần tử thứ ba của mảng và trả về phần tử còn lại trong mảng:
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,2)); ?>
Định nghĩa và cách sử dụng
Hàm array_slice() lấy một đoạn giá trị từ mảng dựa trên điều kiện và trả về.
Ghi chú:Nếu mảng có các khóa chuỗi, mảng được trả về sẽ giữ lại các tên khóa. (Xem ví dụ 4)
Cú pháp
array_slice(array,start,length,preserve)
Tham số | Mô tả |
---|---|
array | Bắt buộc. Định nghĩa mảng. |
start |
Bắt buộc. Số. Định nghĩa vị trí bắt đầu lấy phần tử. 0 = phần tử đầu tiên. Nếu giá trị này được thiết lập là số dương, sẽ bắt đầu từ trước sang sau. Nếu giá trị này được thiết lập là số âm, sẽ lấy từ sau trước với giá trị tuyệt đối của start. -2 có nghĩa là bắt đầu từ phần tử thứ hai từ cuối mảng. |
length |
Chọn. Số. Định nghĩa độ dài của mảng được trả về. Nếu giá trị này được thiết lập thành số nguyên, sẽ trả về số lượng phần tử này. Nếu giá trị này được thiết lập thành số âm, hàm sẽ kết thúc lấy ra ở vị trí này từ cuối mảng. Nếu giá trị này không được thiết lập, sẽ trả về 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. |
preserve |
Tùy chọn. Định nghĩa hàm giữ tên khóa hay đặt lại tên khóa. Giá trị có thể:
|
Chi tiết kỹ thuật
Giá trị trả về: | Trả về phần tử đã chọn trong mảng. |
Phiên bản PHP: | 4+ |
Nhật ký cập nhật: | Được thêm vào PHP 5.0.2 preserve Tham số. |
Thêm ví dụ
Ví dụ 1
Lấy từ phần tử thứ hai của mảng, và chỉ trả về hai phần tử:
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,1,2)); ?>
Ví dụ 2
Sử dụng số âm: start Tham số:
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,-2,1)); ?>
Ví dụ 3
Lấy preserve Cài đặt tham số thành true:
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,1,2,true)); ?>
Ví dụ 4
Xử lý tên khóa chuỗi và tên khóa số:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"brown"); print_r(array_slice($a,1,2)); $a=array("0"=>"red","1"=>"green","2"=>"blue","3"=>"yellow","4"=>"brown"); print_r(array_slice($a,1,2)); ?>