Tách một khu vực phần tử với hàm array_slice()

Tách một khu vực phần tử với hàm array_slice()

Đôi khi bạn muốn truy cập nhiều hơn một phần tử mảng cùng một lúc. Ví dụ, bạn có một mảng chứa 100 đơn hàng
chưa xử lí từ khách hàng, bạn có thể muốn tách ra 10 đơn hàng đầu tiên để bạn có thể xử lí chúng.
PHP có một hàm tích hợp sẵn array_slice() cái bạn có thể sử dụng để tách một khu vực các phần tử từ một mảng.
Để sử dụng chúng, truyền cho nó tên mảng muốn tách phần tử, và chỉ số của những phần tử muốn tách. Hàm này sẽ
trả về một mảng mới chứa bản sao các phần tử bạn vừa tách (nó không đụng chạm gì đến mảng gốc).
Ví dụ:

$author=array(“Steinbeck”,”Kafka”,”Tolkien”,”Dickens”);
$authorslice=array_slice($author,1,2);
print_r($authorslice);

Ví dụ này tách phần tử thứ hai và thứ ba ra khỏi mảng $author và lưu mảng trả về trong một biến mới, $authorslice.
Dòng code sử dụng print_r để hiển thị mảng tách.
array_slice() không giữ nguyên chỉ số của phần tử gốc, thay vào đó sẽ đánh lại chỉ số các phần tử được tách trong
mảng mới, bắt đầu từ 0. Vì vậy, trong khi “Kafka” có chỉ số bằng 1 trong mảng $author, nó có chỉ số bằng 0 trong
mảng $authorslice.
Bạn sẽ tự hỏi liệu có thể sử dụng hàm array_slice() trong mảng chỉ số liên quan. Mặc dù mảng chỉ số liên quan không
có chỉ mục bằng số, PHP nhớ trật tự của các phần tử trong mảng chỉ số liên quan. Vì vậy, bạn vẫn có thể thông báo
cho array_slice() tách phần tử thứ 2 và thứ 3 của mảng.

$myBook=(“title”=>’The grapes of wrath”,
‘author”=>”John Steinbeck”,
“pubYear”=>1939);
$myBookSlice=arrray_slice($myBook,1,2);
print_r($myBookSlice);

Nhân tiện, nếu bạn bỏ tham số thứ 3 ra khỏi hàm array_slice(), hàm sẽ tách các phần tử từ vị trí bắt đầu cho đến hết
mảng.

$author=array(“Steinbeck”,”Kafka”,”Tolkien”,”Dickens”);
$authorslice=array_slice($author,1);
print_r($authorslice);//in từ “Kafka” cho đến hết

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *