note 105699 added to spldoublylinkedlist.setiteratormode
| From: | pritiatwork at gmail dot com | Date: | Thu, 08 Sep 2011 06:39:18 +0000 |
| Subject: | note 105699 added to spldoublylinkedlist.setiteratormode | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-183023@lists.php.net to get a copy of this message | ||
Usage of different Iterator Mode
<?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 '<br/> FIFO Traversing<br/>';
$doubly->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP);
$doubly->rewind();
foreach($doubly as $key=>$value)
{
echo '<br/>Traversed:'.$key.' '.$value['name'];
}
echo '<br/>LIFO Traversing - Keep mode <br/>';
$doubly->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP);
$doubly->rewind();
foreach($doubly as $key=>$value)
{
echo '<br/>Traversed:'.$key.' '.$value['name'];
}
echo '<br/>LIFO Traversing - Delete mode <br/>';
$doubly->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO |
SplDoublyLinkedList::IT_MODE_DELETE);
$doubly->rewind();
foreach($doubly as $key=>$value)
{
if($key == 2) break;
echo '<br/>Traversed:'.$key.' '.$value['name'];
}
var_dump($doubly);
?>
Output:
FIFO Traversing
Traversed:0 Naruto
Traversed:1 Sakura
Traversed:2 Neji
Traversed:3 Sasuke
LIFO Traversing - Keep mode
Traversed:3 Sasuke
Traversed:2 Neji
Traversed:1 Sakura
Traversed:0 Naruto
LIFO Traversing - Delete mode
Traversed:3 Sasuke
object(SplDoublyLinkedList)#1 (2) {
["flags":"SplDoublyLinkedList":private]=>
int(3)
["dllist":"SplDoublyLinkedList":private]=>
array(3) {
[0]=>
array(1) {
["name"]=>
string(6) "Naruto"
}
[1]=>
array(1) {
["name"]=>
string(6) "Sakura"
}
[2]=>
array(1) {
["name"]=>
string(4) "Neji"
}
}
}
----
Server IP: 69.147.83.197
Probable Submitter: 121.242.40.10
----
Manual Page -- http://www.php.net/manual/en/spldoublylinkedlist.setiteratormode.php
Edit -- https://master.php.net/note/edit/105699
Del: integrated -- https://master.php.net/note/delete/105699/integrated
Del: useless -- https://master.php.net/note/delete/105699/useless
Del: bad code -- https://master.php.net/note/delete/105699/bad+code
Del: spam -- https://master.php.net/note/delete/105699/spam
Del: non-english -- https://master.php.net/note/delete/105699/non-english
Del: in docs -- https://master.php.net/note/delete/105699/in+docs
Del: other reasons-- https://master.php.net/note/delete/105699
Reject -- https://master.php.net/note/reject/105699
Search -- https://master.php.net/manage/user-notes.php