質問

どこで手に入れればいいんですかる要約 SPL predefined constants のように SELF_FIRST,CHILD_FIRST ?月 php.net 私として親しまれている(その種別)。

役に立ちましたか?

解決

私の概要(一部)のクラスから定数の ページにリンク ったり、別の複数のポイント。

RecursiveIteratorIterator繰り返しモード


RecursiveIteratorIterator::LEAVES_ONLY 繰り返しモードになります。(この デフォルト モードになります。)

この繰り返し処理モードで(つ)けに制限の項目をご利用中の繰り返し処理にのみ"木の葉"(思考の再帰的構造として木の枝の芽その他の支店がある場合にはその道のりを歩んできたのだろうか枝、葉のです。の配列 array('a'=>array('b','c'),'d','e'=>array('f','g'))b,c,d,fg かにな新芽ります。

このコードスニペットを示すこのモードイン-アクションがありますシリーズの例と同じ再帰的配列反復子は、反復子の再帰反復子を使用モードとフラッグ):

$array = array('a'=>array('b','c'),'d','e'=>array('f','g'));
$ait   = new RecursiveArrayIterator($array);

// Only iterate over leaves
$rit   = new RecursiveIteratorIterator($ait, RecursiveIteratorIterator::LEAVES_ONLY);
foreach ($rit as $item) {
    echo $item;
}
// Output: bcdfg

RecursiveIteratorIterator::SELF_FIRST 繰り返しモードになります。

この繰り返し処理モードを指示する反復子は、"親"会社である項目(な葉)に配置される前に子供(もしあれば)が繰り返し処理.

// Parents come first
$rit   = new RecursiveIteratorIterator($ait, RecursiveIteratorIterator::SELF_FIRST);
foreach ($rit as $key => $item) {
    if (is_array($item)) echo "[$key]"; // parent
    else echo $item;                    // child
}
// Output: [a]bcd[e]fg

RecursiveIteratorIterator::CHILD_FIRST 繰り返しモードになります。

この繰り返し処理モードをスワップの親子の位置など、子どもたち(紅葉)の親さが示すように:

// Children first
$rit   = new RecursiveIteratorIterator($ait, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($rit as $key => $item) {
    if (is_array($item)) echo "[$key]"; // parent
    else echo $item;                    // child
}
// Output: bc[a]dfg[e]

その他のポイント

RecursiveIteratorIteratorコンストラクタフラグ

それだけの数のモードの葉、親または子)の繰り返し処理を行再帰反復子.のRecursiveIteratorIteratorも flags 引数に影響を与えるその他の行うか否かの停止が子オブジェクトに例外をスローするか、電話 __toString 項目など。のフラグは、 CachingIterator 定数、等しく非正規滞在).

その他のSPL定数

このつながりとか。あり、スポットもリスト全ての定数の値:ほとんどの授業もせずに独自の定数.ができます。利用 反射 を覗でご利用いただけます定数.のコマンドラインのものを使っておけば間違いないように php --rc recursiveiteratoriterator | grep -i constant のリストを表示するには、RecursiveIteratorIteratorの定数.

不足書類

の書類をご用意のPHPマニュアルを書(か)は全ボランティアです。のSPL特にあたっぷりスポットがまだ大量の注目の前には船の形を標準装備。だいた"とくでてくるようであればこの広告?) その後の連絡においてsalathe@php.net又はサインのPHPの文書のメーリングリストに空メールを送るにはphpdoc-subscribe@lists.php.net)われます。により、次回はもっとドイツ語をしゃべ.

他のヒント

href="http://php.net/~helly/php/ext/spl/files.html" rel="nofollow noreferrer"> SPLファイルは、 http://php.net/~helly/php/ext/spl/ を。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top