cách tốt nhất để thực hiện điều này là gì?
cách tốt nhất để thực hiện điều này là gì?
Câu trả lời:
Sử dụng mảng_slice ()
Đây là một ví dụ từ hướng dẫn sử dụng PHP: Array_slice
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
Chỉ có một vấn đề nhỏ
Nếu các chỉ số mảng có ý nghĩa đối với bạn, hãy nhớ rằng array_slice
sẽ thiết lập lại và sắp xếp lại các số chỉ số mảng. Bạn cần preserve_keys
đặt cờ true
để tránh điều này. (Tham số thứ 4, khả dụng kể từ 5.0.2).
Thí dụ:
$output = array_slice($input, 2, 3, true);
Đầu ra:
array([3]=>'c', [4]=>'d', [5]=>'e');
Bạn có thể sử dụng mảng_slice như:
$sliced_array = array_slice($array,0,$N);
Theo thứ tự hiện tại? Tôi muốn nói mảng_slice () . Vì nó là một hàm dựng sẵn, nó sẽ nhanh hơn việc lặp qua mảng trong khi theo dõi chỉ số tăng dần cho đến khi N.
mảng_slice () là điều tốt nhất để thử, sau đây là các ví dụ:
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // returns "c", "d", and "e"
$output = array_slice($input, -2, 1); // returns "d"
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
nếu bạn muốn lấy N phần tử đầu tiên và cũng loại bỏ nó khỏi mảng, bạn có thể sử dụng array_splice()
(lưu ý 'p' trong "splice"):
http://docs.php.net/manual/da/feft.array-splice.php
sử dụng nó như vậy: $array_without_n_elements = array_splice($old_array, 0, N)