<?php $rait = new RecursiveArrayIterator([0, 1, [2, 3, [4, 5], 6, 7], 8, 9, [0, 1]]); $rtit = new RecursiveTreeIterator($rait); $rtit_curr = new RecursiveTreeIterator($rait, RecursiveTreeIterator::BYPASS_CURRENT); foreach ($rtit as $key => $val) { var_dump($rtit->current()); } foreach ($rtit_curr as $key => $val) { var_dump($rtit_curr->current()); }
public function current() { return str_replace($this->getInnerIterator()->current(), substr(strrchr($this->getInnerIterator()->current(), DIRECTORY_SEPARATOR), 1), parent::current()); }
<?php $ary = array(0 => array((string) "binary", "abc2", 1), (string) "binary" => array(2, "b", 3 => array(4, "c"), "4abc" => array(4, "c"))); $it = new RecursiveTreeIterator(new RecursiveArrayIterator($ary), 0); foreach ($it as $k => $v) { var_dump($v); } echo "\n----------------\n\n"; foreach ($it as $k => $v) { var_dump($k); } echo "\n----------------\n\n"; echo "key, getEntry, current:\n"; foreach ($it as $k => $v) { var_dump($it->key(), $it->getEntry(), $it->current()); } ?> ===DONE===