7
function test($value, $key, $inner) {
8
return test($value, $key, $inner);
13
static function test($value, $key, $inner) {
14
return test($value, $key, $inner);
18
function test($value, $key, $inner) {
19
printf("%s / %s / %d / %d\n"
22
, $value == $inner->current()
23
, $key == $inner->key()
25
return $value === 1 || $value === 4;
29
'instance method' => function() { return array(new A, 'test'); },
30
'static method' => function() { return array('B', 'test'); },
31
'static method (2)' => function() { return 'B::test'; },
32
'function' => function() { return 'test'; },
33
'anonymous function' => function() { return function($value, $key, $inner) { return test($value, $key, $inner); }; },
36
foreach($tests as $name => $test) {
39
$it = new ArrayIterator(range(1, 5));
40
$it = new CallbackFilterIterator($it, $callback);
44
foreach($it as $value) {
48
// same test, with no reference to callback
50
$it = new ArrayIterator(range(1, 5));
51
$it = new CallbackFilterIterator($it, $test());
54
foreach($it as $value) {
119
= anonymous function =