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 accepte deux paramètres principaux : le offset (position de départ) et la length (nombre d’éléments à extraire) :

<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Outputs: 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 précise combien d’éléments prendre. Vous pouvez également utiliser des valeurs négatives pour offset afin de commencer à compter depuis 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.

challenge icon

Défi

Facile

Vous recevrez trois entrées : un tableau de prix de produits au format JSON, une position de départ (décalage) et le nombre d’éléments à extraire (longueur). Lisez les trois entrées, convertissez la chaîne JSON en tableau, utilisez array_slice() pour extraire la portion spécifiée du tableau, puis affichez la tranche extraite à l’aide de 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 le décalage (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 à l’aide de print_r()

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

Entraînez-vous par vous-même : Compilateur PHP en ligne