• # SPL

    Posté par . En réponse au message Lisibilité d'un print_r(). Évalué à 1.

    Dans la 5.3 il y a RecursiveTreeIterator[1]:


    <?php
    /* tableau */
    $a = new RecursiveArrayIterator(array(
    'foo' => array(
    'd','e','f',
    'bar' => array(
    'g','h'
    )
    ),
    'baz' => array('a','b','c'),
    ));


    /* print_r() amélioré */
    $it = new RecursiveTreeIterator($a, RecursiveTreeIterator::BYPASS_CURRENT);
    foreach($it as $key => $value) {
    echo "$key $value\n";
    }
    ?>


    Qui peut donner quelque chose comme ça, avec les "décorations" par défaut:


    |-foo Array
    | |-0 d
    | |-1 e
    | |-2 f
    | \-bar Array
    | |-0 g
    | \-1 h
    \-baz Array
    |-0 a
    |-1 b
    \-2 c


    [1] http://www.php.net/~helly/php/ext/spl/classRecursiveTreeIter(...)