(PHP 5 >= 5.1.0)
iterator_apply — 为迭代器中每个元素调用一个用户自定义函数
循环迭代每个元素时调用某一回调函数。
iterator
需要循环迭代的类对象。
function
迭代到每个元素时的调用的回调函数。
Note: 为了遍历
iterator
这个函数必须返回TRUE
。
args
传递到回调函数的参数。
返回已迭代的元素个数。
Example #1 iterator_apply() example
<?php
function print_caps(Iterator $iterator) {
echo strtoupper($iterator->current()) . "\n";
return TRUE;
}
$it = new ArrayIterator(array("Apples", "Bananas", "Cherries"));
iterator_apply($it, "print_caps", array($it));
?>
以上例程会输出:
APPLES BANANAS CHERRIES
kminkler at synacor dot com (2009-06-01 19:02:23)
To clarify, this method does not work exactly like array_walk(), since the current key/value of the iterator is not passed to the callback function.
This php method is equivalent to:
<?php
function iterator_apply(Traversable $iterator, $function, array $args)
{
$count = 0;
foreach ($iterator as $ignored)
{
call_user_func_array($function, $args);
$count++;
}
return $count;
}
?>