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.