array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'class.splqueue.php', 1 => 'SplQueue', ), 'up' => array ( 0 => 'spl.datastructures.php', 1 => 'Structures des données', ), 'prev' => array ( 0 => 'class.splstack.php', 1 => 'SplStack', ), 'next' => array ( 0 => 'splqueue.dequeue.php', 1 => 'SplQueue::dequeue', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/spl/splqueue.xml', ), 'extra_header_links' => array ( 'rel' => 'alternate', 'href' => '/manual/en/feeds/class.splqueue.atom', 'type' => 'application/atom+xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
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
.
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;
// ...
}
?>