iterator_apply

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

iterator_apply为迭代器中每个元素调用函数

说明

iterator_apply(Traversable $iterator, callable $callback, ?array $args = null): int

循环迭代每个元素时调用函数。

参数

iterator

要迭代的迭代对象。

callback

每个元素要调用的回调函数。此函数仅接收指定的 args,因此默认为 null。如果 count($args) === 3,则回调函数是三个参数。

注意: 为了遍历 iterator,此函数必须返回 true

args

参数 arrayargs 的每个元素都会作为单独的参数传递给回调 callback

返回值

返回已迭代的元素个数。

示例

示例 #1 iterator_apply() 示例

<?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

参见

  • array_walk() - 使用用户自定义函数对数组中的每个元素做回调处理