3v4l.org

run code in 500+ PHP versions simultaneously
<?php $data = [ 'src' => [ 'Controller' => ['HomeController.php', 'ApiController.php'], 'Entity' => ['User.php', 'Product.php'], 'Kernel.php', ], 'tests' => ['AppTest.php'], 'composer.json', ]; $tree = new RecursiveTreeIterator( new RecursiveArrayIterator($data) ); foreach ($tree as $line) { echo $line . "\n"; } // Output: // |-src // | |-Controller // | | |-HomeController.php // | | \-ApiController.php // | |-Entity // | | |-User.php // | | \-Product.php // | \-Kernel.php // |-tests // | \-AppTest.php // \-composer.json // (also works with RecursiveDirectoryIterator!)
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 13
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
filename:       /in/GS9dq
function name:  (null)
number of ops:  15
compiled vars:  !0 = $data, !1 = $tree, !2 = $line
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, <array>
   13     1        NEW                                                  $4      'RecursiveTreeIterator'
   14     2        NEW                                                  $5      'RecursiveArrayIterator'
          3        SEND_VAR_EX                                                  !0
          4        DO_FCALL                                          0          
          5        SEND_VAR_NO_REF_EX                                           $5
   13     6        DO_FCALL                                          0          
          7        ASSIGN                                                       !1, $4
   17     8      > FE_RESET_R                                           $9      !1, ->13
          9    > > FE_FETCH_R                                                   $9, !2, ->13
   18    10    >   CONCAT                                               ~10     !2, '%0A'
         11        ECHO                                                         ~10
   17    12      > JMP                                                          ->9
         13    >   FE_FREE                                                      $9
   34    14      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
160.63 ms | 1136 KiB | 13 Q