public function testCanSetKeyBase()
 {
     $iterator = new RecursiveTreeIterator(array('foo' => 'bar'));
     $this->assertEquals('foo', $iterator->key());
     $iterator->setKeyBase('baz');
     $this->assertEquals('baz/foo', $iterator->key());
 }
Beispiel #2
0
<?php

$rait = new RecursiveArrayIterator(['a' => 0, 1, 'b' => array(2, 3, 'c' => array('d' => 4, 5), 6, 7), 8, 9, array(0, 1)]);
$rtit = new RecursiveTreeIterator($rait);
$rtit_bypass = new RecursiveTreeIterator($rait, RecursiveTreeIterator::BYPASS_CURRENT);
foreach ($rtit as $key => $val) {
    var_dump($rtit->key());
}
foreach ($rtit_bypass as $key => $val) {
    var_dump($rtit_bypass->key());
}
<?php

$ary = array(0 => array("a", 1), "a" => array(2, "b", 3 => array(4, "c"), "3" => array(4, "c")));
$it = new RecursiveTreeIterator(new RecursiveArrayIterator($ary));
foreach ($it as $k => $v) {
    echo '[' . $it->key() . '] => ' . $it->getPrefix() . $it->getEntry() . $it->getPostfix() . "\n";
}
?>
===DONE===
<?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===