Hàm array_slice
Hàm array_slice cắt và trả về
một phần của mảng. Bản thân mảng không thay đổi.
Tham số đầu tiên chỉ định mảng cần
cắt. Tham số thứ hai chỉ định,
bắt đầu cắt từ phần tử nào, và tham số thứ ba
- cắt bao nhiêu phần tử. Tham số thứ hai
có thể là số âm - trong trường hợp này
việc đếm sẽ bắt đầu từ cuối (-1 - phần tử cuối cùng,
-2 - phần tử áp chót và cứ thế). Tham số thứ ba
có thể không cần chỉ định - trong trường hợp này
mảng sẽ được cắt đến tận cùng.
Tham số tùy chọn cuối cùng điều chỉnh
việc có giữ lại khóa khi cắt hay không, true -
giữ lại, false (mặc định) - không giữ lại.
Khóa kiểu chuỗi luôn được giữ lại, bất kể
giá trị của tham số này.
Cú pháp
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Ví dụ
Hãy cắt các phần tử từ phần tử đầu tiên (có
chỉ số 0), 3 phần tử:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kết quả thực thi mã:
['a', 'b', 'c']
Ví dụ
Hãy cắt các phần tử từ phần tử thứ hai (có
chỉ số 1), 3 phần tử:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Kết quả thực thi mã:
['b', 'c', 'd']
Ví dụ
Hãy cắt các phần tử từ phần tử thứ hai (có
chỉ số 1) đến cuối mảng. Để làm điều này, tham số thứ ba
chúng ta không viết:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Kết quả thực thi mã:
['b', 'c', 'd', 'e']
Ví dụ
Hãy cắt các phần tử từ phần tử áp chót,
2 phần tử. Để làm điều này, tham số thứ hai
đặt thành -2 (vị trí của phần tử áp chót):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Kết quả thực thi mã:
['d', 'e']
Ví dụ
Theo mặc định, mảng không giữ lại khóa khi cắt:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kết quả thực thi mã:
['a', 'b', 'c']
Ví dụ
Hãy làm sao để khóa được giữ lại. Để làm điều này, tham số cuối cùng đặt là true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Kết quả thực thi mã:
[1 => 'a', 2 => 'b', 3 => 'c']
Ví dụ
Khóa kiểu chuỗi được giữ lại khi cắt:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kết quả thực thi mã:
['a' => 1, 'b' => 2, 'c' => 3]
Xem thêm
-
hàm
array_splice,
hàm cắt một phần của mảng, đồng thời thay đổi chính mảng đó