Position actuelle: Accueil> Derniers articles> Utilisez Array_slice pour implémenter l'extraction des éléments N

Utilisez Array_slice pour implémenter l'extraction des éléments N

gitbox 2025-05-26

L'utilisation de base de Array_slice est la suivante:

 array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
  • $ Array : le tableau à fonctionner.

  • $ Offset : Position de démarrage (peut être un nombre négatif, le nombre négatif signifie à partir de la fin du tableau).

  • $ Longueur : la longueur interceptée (facultative).

  • $ Preserve_keys : s'il faut conserver le nom de clé du tableau d'origine, la valeur par défaut est fausse .

2. Comment extraire les N derniers éléments dans un tableau

Pour extraire les N dernier éléments du tableau, la clé consiste à utiliser un Offset $ négatif. Si nous voulons extraire les 3 derniers éléments, nous pouvons écrire ceci:

 $lastThree = array_slice($array, -3);

Ici, -3 signifie que l'interception commence de 3 positions à la fin du tableau et se termine.

3. Exemple de code

 <?php

// Exemple de tableau
$fruits = ["pomme", "banane", "orange", "Raisin", "mangue", "Ananas"];

// Extraire le dernier 3 Éléments
$lastThreeFruits = array_slice($fruits, -3);

print_r($lastThreeFruits);

Résultat de sortie:

 Array
(
    [0] => Raisin
    [1] => mangue
    [2] => Ananas
)

Notez que par défaut, Array_Slice réinitialise le nom de clé du tableau, à partir de 0. Si vous souhaitez conserver le nom de clé du tableau d'origine, vous pouvez définir le quatrième paramètre sur True :

 $lastThreeFruits = array_slice($fruits, -3, null, true);
print_r($lastThreeFruits);

Sortir:

 Array
(
    [3] => Raisin
    [4] => mangue
    [5] => Ananas
)

4. Scénarios d'application pratiques

Supposons que vous ayez un tableau de journaux qui ne souhaitent afficher les derniers journaux que à la fois, vous pouvez facilement les implémenter avec array_slice :

 $logs = [
    "2025-05-17 10:00: Connexion de l&#39;utilisateur",
    "2025-05-17 10:05: Fichiers de téléchargement de l&#39;utilisateur",
    "2025-05-17 10:15: Sortie de l&#39;utilisateur",
    "2025-05-17 10:20: Connexion de l&#39;utilisateur",
    "2025-05-17 10:30: Paramètres de modification de l&#39;utilisateur",
];

// Show récent 2 Enregistrer
$recentLogs = array_slice($logs, -2);

foreach ($recentLogs as $log) {
    echo $log . PHP_EOL;
}

Sortir:

 2025-05-17 10:20: Connexion de l&#39;utilisateur
2025-05-17 10:30: Paramètres de modification de l&#39;utilisateur

5. combinant l'exemple d'URL

Supposons que nous travaillions sur un tableau contenant plusieurs liens et que nous voulions obtenir les derniers liens:

 $urls = [
    "https://gitbox.net/page1",
    "https://gitbox.net/page2",
    "https://gitbox.net/page3",
    "https://gitbox.net/page4",
    "https://gitbox.net/page5",
];

// Obtenez les deux derniers URL
$lastTwoUrls = array_slice($urls, -2);

print_r($lastTwoUrls);

Sortir:

 Array
(
    [0] => https://gitbox.net/page4
    [1] => https://gitbox.net/page5
)