Answers:
使用array_slice()
这是PHP手册中的一个示例:array_slice
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
只有一个小问题
如果数组索引对您有意义,请记住这array_slice
将重置并重新排列数字数组索引。您需要设置preserve_keys
标志true
来避免这种情况。(第4个参数,自5.0.2起可用)。
例:
$output = array_slice($input, 2, 3, true);
输出:
array([3]=>'c', [4]=>'d', [5]=>'e');
您可以将array_slice用作:
$sliced_array = array_slice($array,0,$N);
按照当前顺序?我会说array_slice()。由于它是一个内置函数,因此比在数组中循环要快,同时跟踪递增的索引直到N。
最好尝试使用array_slice(),下面是示例:
<?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个元素并将其从数组中删除,则可以使用array_splice()
(请注意“拼接”中的“ p”):
http://docs.php.net/manual/da/function.array-splice.php
像这样使用它: $array_without_n_elements = array_splice($old_array, 0, N)