note 104720 added to class.iterator

From: Date: Sun, 03 Jul 2011 13:43:24 +0000
Subject: note 104720 added to class.iterator
Groups: php.notes 
Request: Send a blank email to php-notes+get-181205@lists.php.net to get a copy of this message
Be carefull with Iterator when using nested loops or deleting items inside the collection while looping over it. It can be tricky to detect. This unexpected behavior is pertinent if you think about it long enough. <?php foreach($it as $key => $value) echo $value; #output: value1, value2, value3 foreach($it as $key => $value) foreach($it as $key => $value) echo $value; #output: value1, value2, value3 foreach($it as $key => $value) foreach(clone $it as $key => $value) echo $value; #output: value1, value2, value3, value1, value2, value3, value1, value2, value3 foreach($it as $key => $value) { echo $value; array_shift($it->values); } #ouput: value1, value3 ?> ---- Server IP: 89.31.146.176 Probable Submitter: 82.227.124.74 ---- Manual Page -- http://www.php.net/manual/en/class.iterator.php Edit -- https://master.php.net/note/edit/104720 Del: integrated -- https://master.php.net/note/delete/104720/integrated Del: useless -- https://master.php.net/note/delete/104720/useless Del: bad code -- https://master.php.net/note/delete/104720/bad+code Del: spam -- https://master.php.net/note/delete/104720/spam Del: non-english -- https://master.php.net/note/delete/104720/non-english Del: in docs -- https://master.php.net/note/delete/104720/in+docs Del: other reasons-- https://master.php.net/note/delete/104720 Reject -- https://master.php.net/note/reject/104720 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#181205) next »