(PHP 4, PHP 5, PHP 7)
array_slice — Extrait une portion de tableau
$array
, int $offset
[, int $length = NULL
[, bool $preserve_keys = FALSE
]] ) : array
array_slice() retourne une série d'éléments
du tableau array commençant à
l'offset offset et représentant
length éléments.
arrayLe tableau d'entrée.
offset
Si offset est non-négatif, la série commencera
à cet offset dans le tableau array. Si
offset est négatif, cette série
commencera à l'offset offset, mais en
commençant à la fin du tableau array.
Notez que l'offset indique la position dans le
tableau, pas la clé.
length
Si length est fourni et positif, alors la
série retournée aura autant d'éléments. Si le tableau
est moins long que length, alors
seuls les éléments de tableaux disponibles seront présents.
Si length est fourni et négatif, alors la
série contiendra les éléments depuis l'offset
offset jusqu'à length
éléments en partant de la fin. Si
length est omis, la séquence lira tous les
éléments du tableau, depuis l'offset
précisé jusqu'à la fin du tableau.
preserve_keys
Notez que, par défaut, la fonction array_slice()
va réordonner et réinitialiser les indices entier du tableau.
Vous pouvez modifier ce comportement en définissant le paramètre
preserve_keys à TRUE.
Les clés de chaîne sont toujours conservées, quel que soit ce paramètre.
Retourne la portion du tableau. Si l'offset est plus grand que la taille du tableau, alors la fonction retourne un tableau vide
| Version | Description |
|---|---|
| 5.2.4 |
La valeur par défaut du paramètre length
a changé en la valeur NULL. Une longeur
de valeur NULL démande désormais à la fonction d'utiliser
la longeur du tableau array. Avant cette version,
une longeur de valeur NULL signifiait une longueur
égale à zéro (rien n'était retourné).
|
| 5.0.2 |
Le paramètre optionnel preserve_keys a été ajouté.
|
Exemple #1 Exemple avec array_slice()
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // retourne "c", "d", et "e"
$output = array_slice($input, -2, 1); // retourne "d"
$output = array_slice($input, 0, 3); // retourne "a", "b", et "c"
// notez les clés d'index différentes
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
L'exemple ci-dessus va afficher :
Array
(
[0] => c
[1] => d
)
Array
(
[2] => c
[3] => d
)
Exemple #2 array_slice() et basé sur un tableau
<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
L'exemple ci-dessus va afficher :
Array
(
[0] => b
[1] => c
)
Exemple #3 array_slice() et tableau avec des clés mixtes
<?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));
?>
L'exemple ci-dessus va afficher :
Array
(
[a] => apple
[b] => banana
[0] => pear
)
Array
(
[a] => apple
[b] => banana
[42] => pear
)