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.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Défi
FacileVous 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
?>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
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classement