- var_dump: documentation ( source)
<?php
$doubly=new SplDoublyLinkedList();
$doubly->push(array('name'=>'Naruto'));
$doubly->push(array('name'=>'Sakura'));
$doubly->push(array('name'=>'Neji'));
$doubly->push(array('name'=>'Sasuke'));
var_dump($doubly);
echo '\r\n FIFO Traversing \r\n';
$doubly->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP);
$doubly->rewind();
foreach($doubly as $key=>$value)
{
echo '\r\nTraversed:'.$key.' '.$value['name'];
}
echo '\r\nLIFO Traversing - Keep mode \r\n';
$doubly->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP);
$doubly->rewind();
foreach($doubly as $key=>$value)
{
echo '\r\nTraversed:'.$key.' '.$value['name'];
}
echo '\r\nLIFO Traversing - Delete mode \r\n';
$doubly->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE);
$doubly->rewind();
foreach($doubly as $key=>$value)
{
if($key == 2) break;
echo '\r\nTraversed:'.$key.' '.$value['name'];
}
var_dump($doubly);