array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.array-slice.php', 1 => 'array_slice', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Funções para Array', ), 'prev' => array ( 0 => 'function.array-shift.php', 1 => 'array_shift', ), 'next' => array ( 0 => 'function.array-splice.php', 1 => 'array_splice', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/array/functions/array-slice.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
array_slice — Extrai uma parcela de um array
array_slice() retorna a sequência de elementos
de um array
delimitado pelos parâmetros
offset
e length
.
array
O array de entrada.
offset
Se offset
for não negativo, a sequência iniciará
no início do array
.
Se offset
for negativo, a sequência iniciará
a partir do fim do array
.
Nota:
O parâmetro
offset
denota uma posição dentro do array, não das chaves.
length
Se length
for positivo,
então a sequência terá até essa quantidade de elementos.
Se o array for mais curto que length
,
então somente os elementos presentes serão retornados.
Se length
for negativo então a sequência
conterá até essa quantidade de elementos do final do array.
Se esse parâmetro for omitido, a sequência conterá todos os elementos
a partir de offset
até o final do
array
.
preserve_keys
Nota:
array_slice() não irá reordenar ou resetar os índices inteiros do array por padrão. Este comportamento pode ser alterado ao informar
preserve_keys
paratrue
. Chaves string são sempre preservados, independente do parâmetro.
Retorna a parcela. Se o offset for maior que o tamanho do array, um array vazio é retornado.
Exemplo #1 Exemplos de array_slice()
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // retorna "c", "d", e "e"
$output = array_slice($input, -2, 1); // retorna "d"
$output = array_slice($input, 0, 3); // retorna "a", "b", e "c"
// Obverse as diferenças nas chaves retornadas
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
O exemplo acima produzirá:
Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d )
Exemplo #2 array_slice() e arrays baseados em 1
<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
O exemplo acima produzirá:
Array ( [0] => b [1] => c )
Exemplo #3 array_slice() com chaves mistas
<?php
$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>
O exemplo acima produzirá:
Array ( [a] => apple [b] => banana [0] => pear ) Array ( [a] => apple [b] => banana [42] => pear )