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 のみを受け取ります。 デフォルトでは引数を渡されません。 たとえば count($args) === 3 の場合、 コールバック関数は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() - 配列の全ての要素にユーザー定義の関数を適用する

関連キーワード:  関数, 要素, コール, ユーザー, args, apply, callback, array, count, 処理