Menu
Coddy logo textTech

Extraire avec 'array_slice'

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 16 sur 68.

La fonction array_slice() vous permet d'extraire une portion d'un tableau sans modifier le tableau d'origine. Contrairement aux fonctions comme array_pop() ou array_shift() qui modifient le tableau source, array_slice() crée un nouveau tableau contenant uniquement les éléments que vous spécifiez.

La fonction prend deux paramètres principaux : l'offset (position de départ) et la longueur (combien d'éléments extraire) :

<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Affiche : Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // Tableau original inchangé
?>

Le paramètre offset indique à PHP où commencer l'extraction (0 signifie le premier élément), tandis que le paramètre length spécifie combien d'éléments extraire. Vous pouvez également utiliser des valeurs négatives pour l'offset pour commencer à compter à partir de la fin du tableau.

Cette fonction est particulièrement utile lorsque vous devez travailler avec un sous-ensemble de données, comme l'affichage des premiers éléments d'une longue liste ou l'extraction d'une plage spécifique d'éléments pour le traitement, tout en gardant vos données d'origine intactes.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

challenge icon

Défi

Facile

Vous recevrez trois entrées : un tableau de prix de produits au format JSON, une position de départ (offset) et le nombre d'éléments à extraire (length). Lisez les trois entrées, convertissez la chaîne JSON en un tableau, utilisez array_slice() pour extraire la portion spécifiée du tableau, et affichez la tranche extraite en utilisant print_r().

Format d'entrée : Trois lignes - la première ligne contient un tableau JSON de nombres (exemple : [29.99,15.50,42.00,8.75,33.25]), la deuxième ligne contient l'offset (position de départ), la troisième ligne contient la longueur (nombre d'éléments à extraire)

Sortie attendue : La portion extraite du tableau, affichée en utilisant print_r()

Aide-mémoire

La fonction array_slice() extrait une portion d'un tableau sans modifier le tableau d'origine.

Syntaxe : array_slice($array, $offset, $length)

  • offset : Position de départ (0 = premier élément)
  • length : Nombre d'éléments à extraire
  • Utilisez un offset négatif pour commencer à partir de la fin du tableau
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // Le tableau d'origine reste inchangé
?>

Essayez vous-même

<?php
// Lire le tableau JSON des prix
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);

// Lire le décalage (position de départ)
$offset = intval(fgets(STDIN));

// Lire la longueur (nombre d'éléments à extraire)
$length = intval(fgets(STDIN));

// TODO : Écrivez votre code ci-dessous pour extraire la tranche et l'afficher

?>
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux