Position actuelle: Accueil> Derniers articles> Utilisez Array_slice pour implémenter l'opération de décomposition des files d'attente

Utilisez Array_slice pour implémenter l'opération de décomposition des files d'attente

gitbox 2025-05-29

Array_slice est une fonction utilisée par PHP pour extraire les fragments de tableau. Il peut intercepter certains éléments du tableau et renvoyer un nouveau tableau sans affecter le tableau d'origine. La syntaxe de base est la suivante:

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

  • $ offset : par où commencer à intercepter, 0 signifie commencer le premier élément.

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

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

L'idée de faire la queue

Dans la file d'attente, la déshabitation est de "retirer" le premier élément et de le retirer. Bien qu'il existe une fonction Array_Shift () dans PHP qui peut directement terminer cette opération, cet article se concentre sur la façon d'utiliser Array_Slice pour implémenter ce processus.

Supposons que nous ayons un tableau représentant la file d'attente:

 $queue = ['A', 'B', 'C', 'D'];

Deux étapes sont nécessaires pour se déshabiller:

  1. Retirez le premier élément «A» .

  2. Les éléments restants forment une nouvelle file d'attente ['B', 'C', 'D'] .

Utilisez Array_slice pour implémenter une opération de déshabitation

 <?php
// File d&#39;attente d&#39;origine
$queue = ['A', 'B', 'C', 'D'];

// Sortez l&#39;élément de tête de l&#39;équipe
$dequeueElement = $queue[0];

// utiliser array_slice Générer une nouvelle file d&#39;attente,Sauter le premier élément
$queue = array_slice($queue, 1);

// Résultat de sortie
echo "L&#39;élément de départ est:" . $dequeueElement . "\n";
echo "La nouvelle file d&#39;attente est:";
print_r($queue);
?>

Résultats en cours:

 L&#39;élément de départ est:A
La nouvelle file d&#39;attente est:
Array
(
    [0] => B
    [1] => C
    [2] => D
)

Analyse

  • $ file d'attente [0] accède directement au premier élément comme l'élément de Dequeue.

  • array_slice ($ file d'attente, 1) commence à intercepter à partir de l'indice 1, obtient tous les éléments à l'exception du premier élément et forme une nouvelle file d'attente.

Cela met en œuvre l'utilisation de Array_Slice pour simuler la déshabitation de la file d'attente.

Avancé: encapsulé en fonctions

Pour plus de commodité du multiplexage, il peut être encapsulé en une fonction:

 <?php
function queueDequeue(array &$queue) {
    if (empty($queue)) {
        return null; // La file d&#39;attente est vide,retour null
    }
    $element = $queue[0];
    $queue = array_slice($queue, 1);
    return $element;
}

// Exemple
$queue = ['A', 'B', 'C', 'D'];
$first = queueDequeue($queue);

echo "Éléments de départ:" . $first . "\n";
print_r($queue);
?>

résumé

  • Array_slice peut être utilisé pour intercepter tout fragment d'un tableau, qui est très adapté pour intercepter les "éléments restants" de la tête d'un tableau.

  • Combiné avec un accès direct au premier élément du tableau, implémentant la fonction de file d'attente.

  • Bien que Array_Shift soit plus direct, l'utilisation de Array_Slice peut approfondir votre compréhension des opérations de berge et faciliter la personnalisation des comportements de file d'attente plus complexes.

Pour plus de contenu lié à PHP, veuillez visiter https://gitbox.net/php-array-fonctions pour plus de détails.