La classe SplQueue

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introduction

La classe SplQueue fournit l'interface d'implémentation d'une queue, basée sur une liste doublement chaînée en définissant le mode de l'itérateur à SplDoublyLinkedList::IT_MODE_FIFO.

Synopsis de la classe

class SplQueue extends SplDoublyLinkedList {
/* Constants héritées */
/* Méthodes */
public dequeue(): mixed
public enqueue(mixed $value): void
/* Méthodes héritées */
public SplDoublyLinkedList::add(int $index, mixed $value): void
public SplDoublyLinkedList::offsetExists(int $index): bool
public SplDoublyLinkedList::offsetSet(?int $index, mixed $value): void
public SplDoublyLinkedList::offsetUnset(int $index): void
public SplDoublyLinkedList::push(mixed $value): void
public SplDoublyLinkedList::unserialize(string $data): void
public SplDoublyLinkedList::unshift(mixed $value): void
}

Exemples

Exemple #1 Exemple de SplQueue

<?php
$q
= new SplQueue();
$q[] = 1;
$q[] = 2;
$q[] = 3;
foreach (
$q as $elem) {
echo
$elem."\n";
}
?>

L'exemple ci-dessus va afficher :

1
2
3

Exemple #2 Traiter efficacement les tâches avec SplQueue

<?php
$q
= new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);
// ... mettre dans la file d'attente certaines tâches ...
// les traiter
foreach ($q as $task) {
// ... traiter $task ...
// ajouter des nouvelles tâches dans la file d'attente
$q[] = $newTask;
// ...
}
?>

Sommaire