array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.iterator-apply.php', 1 => 'iterator_apply', ), 'up' => array ( 0 => 'ref.spl.php', 1 => 'Функции SPL', ), 'prev' => array ( 0 => 'function.class-uses.php', 1 => 'class_uses', ), 'next' => array ( 0 => 'function.iterator-count.php', 1 => 'iterator_count', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/spl/functions/iterator-apply.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
iterator_apply — Вызывает функцию для каждого элемента в итераторе
Вызывает функцию для каждого элемента в итераторе.
iterator
Объект итератора для перебора.
callback
Функция обратного вызова, которая применяется к каждому элементу.
Эта функция принимает только переданный args
, поэтому он null по умолчанию. Например, если count($args) === 3
, функция обратного вызова - тернарная.
Замечание: Функция должна возвращать
true
для того, чтобы продолжать процесс итерации надiterator
.
args
Аргументы для передачи в функцию обратного вызова.
Массив (array) аргументов; каждый элемент
args
передаётся в функцию обратной функции (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