# La classe SplDoublyLinkedList

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

## Introduction

La classe SplDoublyLinkedList fournit l'interface principale pour les listes doublement chaînées.

## Synopsis de la classe

class SplDoublyLinkedList implements Iterator, Countable, ArrayAccess, Serializable {
/* Constantes */
public const int IT_MODE_LIFO;
public const int IT_MODE_FIFO;
public const int IT_MODE_DELETE;
public const int IT_MODE_KEEP;
/* Méthodes */
public add(int `$index`, mixed `$value`): void
public bottom(): mixed
public count(): int
public current(): mixed
public getIteratorMode(): int
public isEmpty(): bool
public key(): int
public next(): void
public offsetExists(int `$index`): bool
public offsetGet(int `$index`): mixed
public offsetSet(?int `$index`, mixed `$value`): void
public offsetUnset(int `$index`): void
public pop(): mixed
public prev(): void
public push(mixed `$value`): void
public rewind(): void
public serialize(): string
public setIteratorMode(int `$mode`): int
public shift(): mixed
public top(): mixed
public unserialize(string `$data`): void
public unshift(mixed `$value`): void
public valid(): bool
}

## Constantes pré-définies

## Direction d'Itération

`SplDoublyLinkedList::IT_MODE_LIFO`

  La liste sera itérée dans un ordre dernier entré, premier sorti, comme une pile.

`SplDoublyLinkedList::IT_MODE_FIFO`

  La liste sera itérée dans un ordre premier entré, premier sorti, comme une file.

## Comportement d'Itération

`SplDoublyLinkedList::IT_MODE_DELETE`

  L'itération supprimera les éléments itérés.

`SplDoublyLinkedList::IT_MODE_KEEP`

  L'itération ne supprimera pas les éléments itérés.

## Sommaire

- SplDoublyLinkedList::add — Ajoute/insert une nouvelle valeur à l'index spécifié
- SplDoublyLinkedList::bottom — Le nœud parent à partir duquel la liste découle
- SplDoublyLinkedList::count — Compte le nombre d'éléments de la liste
- SplDoublyLinkedList::current — Retourne l'entrée courante du tableau
- SplDoublyLinkedList::getIteratorMode — Retourne le mode de l'itérateur
- SplDoublyLinkedList::isEmpty — Vérifie si la liste est vide
- SplDoublyLinkedList::key — Retourne l'index du nœud courant
- SplDoublyLinkedList::next — Se déplace à l'entrée suivante
- SplDoublyLinkedList::offsetExists — Vérifie si un index existe
- SplDoublyLinkedList::offsetGet — Retourne la valeur d'un index
- SplDoublyLinkedList::offsetSet — Spécifie la nouvelle valeur de l'index
- SplDoublyLinkedList::offsetUnset — Efface la valeur d'un index
- SplDoublyLinkedList::pop — Dépile et retourne le dernier élément de la liste
- SplDoublyLinkedList::prev — Recule d'un élément
- SplDoublyLinkedList::push — Ajoute un élément à la fin de la liste
- SplDoublyLinkedList::rewind — Replace l'itérateur au début
- SplDoublyLinkedList::serialize — Sérialise la liste
- SplDoublyLinkedList::setIteratorMode — Définit le mode d'itération
- SplDoublyLinkedList::shift — Déplace un nœud de la liste
- SplDoublyLinkedList::top — Récupère le dernier nœud de la liste
- SplDoublyLinkedList::unserialize — Désérialise la liste
- SplDoublyLinkedList::unshift — Ajoute un élément à la liste
- SplDoublyLinkedList::valid — Vérifie si la liste contient encore des nœuds