mirror of
https://github.com/php/php-src.git
synced 2024-09-23 19:07:26 +00:00
45 lines
758 B
Plaintext
45 lines
758 B
Plaintext
|
--TEST--
|
||
|
SPL: RecursiveCachingIterator and exception in has/getChildren
|
||
|
--SKIPIF--
|
||
|
<?php if (!extension_loaded("spl")) print "skip"; ?>
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
class MyRecursiveRegexIterator extends RecursiveRegexIterator
|
||
|
{
|
||
|
function show()
|
||
|
{
|
||
|
foreach(new RecursiveIteratorIterator($this) as $k => $v)
|
||
|
{
|
||
|
var_dump($k);
|
||
|
var_dump($v);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function accept()
|
||
|
{
|
||
|
return $this->hasChildren() || parent::accept();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$ar = new RecursiveArrayIterator(array('Foo', array('Bar'), 'FooBar', array('Baz'), 'Biz'));
|
||
|
$it = new MyRecursiveRegexIterator($ar, '/Bar/');
|
||
|
|
||
|
$it->show();
|
||
|
|
||
|
?>
|
||
|
===DONE===
|
||
|
<?php exit(0); ?>
|
||
|
--EXPECTF--
|
||
|
int(0)
|
||
|
string(3) "Bar"
|
||
|
int(2)
|
||
|
string(6) "FooBar"
|
||
|
===DONE===
|
||
|
--UEXPECTF--
|
||
|
int(0)
|
||
|
unicode(3) "Bar"
|
||
|
int(2)
|
||
|
unicode(6) "FooBar"
|
||
|
===DONE===
|