PHP: любая функция, возвращающая первые / последние N элементов массива

Я хочу функцию, которая вернет последний / первый элемент N массива.

Например:

$data = array( '0','1','2','3','4','5','6','7','8','9','10' ); 

Если

 getItems( $data, '5', 'first' ); output: array( '0','1','2','3','4' ) 

Если

 getItems( $data, '2', 'last' ); output: array( '9','10' ); 

если

 getItems( $data, '11', 'first' ); or getItems( $data, '11', 'last' ); output: array( '0','1','2','3','4','5','6','7','8','9','10' ); 

Есть ли уже такая функция. Если нет, то какой самый короткий путь.

благодаря

Solutions Collecting From Web of "PHP: любая функция, возвращающая первые / последние N элементов массива"

Вы ищете array_slice() (man-страница здесь ).

Пример:

 $arr = array(1, 2, 3, 4, 5); $slice1 = array_slice($arr, 2); //take all elements from 3rd on $slice2 = array_slice($arr, 0, 3); //take first three elements 
 function getItems($data, $length, $startLocation){ if($startLocation == 'first'){ return array_slice($data, 0, $length); }else if($startLocation == 'last'){ $offset = count($data) - $length - 1; if($offset < 0) $offset = 0; return array_slice($data, $offset, $length); } }