Я хочу функцию, которая вернет последний / первый элемент 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' );
Есть ли уже такая функция. Если нет, то какой самый короткий путь.
благодаря
Вы ищете 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); } }