3v4l.org

run code in 300+ PHP versions simultaneously
<?php $stack = array( 'global' => array( 'areas' => array('a' => 'b'), 'crypt' => array('a' => 'b'), 'install' => array('a' => 'b'), ) ); while ($stack) { list($key, $value) = each($stack); unset($stack[$key]); if (is_array($value)) { if (count($value)) { foreach ($value as $subKey => $node) { $build[$key . $separator . $subKey] = $node; } } else { $build[$key] = null; } $stack = $build + $stack; continue; } $parameters[$key] = $value; } var_dump($parameters);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 2
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 2
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 30
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 25
Branch analysis from position: 15
2 jumps found. (Code = 77) Position 1 = 16, Position 2 = 23
Branch analysis from position: 16
2 jumps found. (Code = 78) Position 1 = 17, Position 2 = 23
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 23
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 30
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 2
Branch analysis from position: 33
Branch analysis from position: 2
filename:       /in/t8Hap
function name:  (null)
number of ops:  37
compiled vars:  !0 = $stack, !1 = $key, !2 = $value, !3 = $node, !4 = $subKey, !5 = $build, !6 = $separator, !7 = $parameters
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    9     1      > JMP                                                      ->32
   10     2    >   INIT_FCALL_BY_NAME                                       'each'
          3        SEND_VAR_EX                                              !0
          4        DO_FCALL                                      0  $9      
          5        FETCH_LIST_R                                     $10     $9, 0
          6        ASSIGN                                                   !1, $10
          7        FETCH_LIST_R                                     $12     $9, 1
          8        ASSIGN                                                   !2, $12
          9        FREE                                                     $9
   11    10        UNSET_DIM                                                !0, !1
   12    11        TYPE_CHECK                                  128          !2
         12      > JMPZ                                                     ~14, ->30
   13    13    >   COUNT                                            ~15     !2
         14      > JMPZ                                                     ~15, ->25
   14    15    > > FE_RESET_R                                       $16     !2, ->23
         16    > > FE_FETCH_R                                       ~17     $16, !3, ->23
         17    >   ASSIGN                                                   !4, ~17
   15    18        CONCAT                                           ~19     !1, !6
         19        CONCAT                                           ~20     ~19, !4
         20        ASSIGN_DIM                                               !5, ~20
         21        OP_DATA                                                  !3
   14    22      > JMP                                                      ->16
         23    >   FE_FREE                                                  $16
         24      > JMP                                                      ->27
   18    25    >   ASSIGN_DIM                                               !5, !1
         26        OP_DATA                                                  null
   20    27    >   ADD                                              ~23     !5, !0
         28        ASSIGN                                                   !0, ~23
   21    29      > JMP                                                      ->32
   23    30    >   ASSIGN_DIM                                               !7, !1
         31        OP_DATA                                                  !2
    9    32    > > JMPNZ                                                    !0, ->2
   25    33    >   INIT_FCALL                                               'var_dump'
         34        SEND_VAR                                                 !7
         35        DO_ICALL                                                 
         36      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.16 ms | 1392 KiB | 18 Q