summaryrefslogtreecommitdiff
path: root/ext/spl/tests/array_009a.phpt
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2005-09-18 17:16:17 +0000
committerMarcus Boerger <helly@php.net>2005-09-18 17:16:17 +0000
commitd1ee4b407c9ea4cf45390fa295812bc360673d76 (patch)
treeadfe5810c2dd55726446babaec61ec12ee709705 /ext/spl/tests/array_009a.phpt
parent7d918fae4c3ab0102258b7e76059c00151a83b3c (diff)
downloadphp-git-d1ee4b407c9ea4cf45390fa295812bc360673d76.tar.gz
- Commite manually if not conatined in bunch commit
Diffstat (limited to 'ext/spl/tests/array_009a.phpt')
-rwxr-xr-xext/spl/tests/array_009a.phpt39
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/spl/tests/array_009a.phpt b/ext/spl/tests/array_009a.phpt
new file mode 100755
index 0000000000..aebac08ba6
--- /dev/null
+++ b/ext/spl/tests/array_009a.phpt
@@ -0,0 +1,39 @@
+--TEST--
+SPL: ArrayIterator implementing RecursiveIterator
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+
+class MyRecursiveArrayIterator extends ArrayIterator implements RecursiveIterator
+{
+ function hasChildren()
+ {
+ return is_array($this->current());
+ }
+
+ function getChildren()
+ {
+ return new MyRecursiveArrayIterator($this->current());
+ }
+}
+
+$array = array(1, 2 => array(21, 22 => array(221, 222), 23 => array(231)), 3);
+
+$dir = new RecursiveIteratorIterator(new MyRecursiveArrayIterator($array), RecursiveIteratorIterator::LEAVES_ONLY);
+
+foreach ($dir as $file) {
+ print "$file\n";
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECT--
+1
+21
+221
+222
+231
+3
+===DONE===