PHP获得数组的前N个元素?
什么是完成这个最好的方法?
使用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
将重置并重新sorting数字数组索引。 您需要将preserve_keys
标志设置为true
以避免这种情况。 (第四个参数,从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.