Qual é o melhor jeito de concluir isso?
Qual é o melhor jeito de concluir isso?
Respostas:
Use array_slice ()
Este é um exemplo do manual do PHP: array_slice
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
Existe apenas um pequeno problema
Se os índices da matriz forem significativos para você, lembre-se de que array_slice
redefinirá e reordenará os índices numéricos da matriz. Você precisa preserve_keys
definir o sinalizador true
para evitar isso. (4º parâmetro, disponível desde 5.0.2).
Exemplo:
$output = array_slice($input, 2, 3, true);
Resultado:
array([3]=>'c', [4]=>'d', [5]=>'e');
Você pode usar array_slice como:
$sliced_array = array_slice($array,0,$N);
Na ordem atual? Eu diria array_slice () . Como é uma função integrada, será mais rápido do que percorrer a matriz, mantendo o controle de um índice incremental até N.
array_slice () é a melhor coisa para tentar, a seguir estão os exemplos:
<?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));
?>
se você deseja obter os primeiros N elementos e também removê-los da matriz, pode usar array_splice()
(observe o 'p' em "emenda"):
http://docs.php.net/manual/da/function.array-splice.php
use-o assim: $array_without_n_elements = array_splice($old_array, 0, N)