3v4l.org

run code in 300+ PHP versions simultaneously
<?php $type = 'product'; $services = array( 'Client'=>array( 'methods'=>array( 'Get Activity'=>array('name'=>'get_activity'), 'Get Client List'=>array('name'=>'get_client_list'), 'Get Stats'=>array('name'=>'get_stats', 'methods'=>array('Source Call History'=>array('name'=>'source_call_history'), 'Source Product Summary'=>array('name'=>'source_product_summary')) ), 'Update Activty'=>array('name'=>'update_activity') ) ), 'Source'=>array( 'methods'=>array( 'Get Source List'=>array('name'=>'get_source_list'), 'Get Source Contract List'=>array('name'=>'get_sourcecontract_list'), 'Get Stats'=>array( 'name'=>'get_stats', 'methods'=>array( 'Source Call History'=>array('name'=>'source_call_history'), 'Source Campaign Details'=>array('name'=>'source_campaign_details'), 'Source Campaign Summary'=>array('name'=>'source_campaign_summary'), 'Source Contact Lookup'=>array('name'=>'source_contact_lookup'), 'Source Live Calls'=>array('name'=>'source_live_calls'), 'Source Passthrough Lookup'=>array('name'=>'source_passthrough_lookup'), 'Source Product Summary'=>array('name'=>'source_product_summary') ) ) ) ) ); if ($type) {//root switch($type){ case 'product': print_r(array_keys($services)); break; case 'client': case 'source': print_r(array_keys($services[$type]['methods']['Get Stats']['methods'])); break; default: print_r($services); } } else { print_r($services); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 33
Branch analysis from position: 3
5 jumps found. (Code = 188) Position 1 = 11, Position 2 = 18, Position 3 = 18, Position 4 = 29, Position 5 = 4
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 18
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 6, Position 2 = 11
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 18
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 10, Position 2 = 18
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
Branch analysis from position: 18
Branch analysis from position: 18
Branch analysis from position: 11
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/nBLI8
function name:  (null)
number of ops:  37
compiled vars:  !0 = $type, !1 = $services
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'product'
    3     1        ASSIGN                                                   !1, <array>
   35     2      > JMPZ                                                     !0, ->33
   36     3    > > SWITCH_STRING                                            !0, [ 'product':->11, 'client':->18, 'source':->18, ], ->29
   37     4    >   IS_EQUAL                                                 !0, 'product'
          5      > JMPNZ                                                    ~4, ->11
   40     6    >   IS_EQUAL                                                 !0, 'client'
          7      > JMPNZ                                                    ~4, ->18
   41     8    >   IS_EQUAL                                                 !0, 'source'
          9      > JMPNZ                                                    ~4, ->18
         10    > > JMP                                                      ->29
   38    11    >   INIT_FCALL                                               'print_r'
         12        INIT_FCALL                                               'array_keys'
         13        SEND_VAR                                                 !1
         14        DO_ICALL                                         $5      
         15        SEND_VAR                                                 $5
         16        DO_ICALL                                                 
   39    17      > JMP                                                      ->32
   42    18    >   INIT_FCALL                                               'print_r'
         19        INIT_FCALL                                               'array_keys'
         20        FETCH_DIM_R                                      ~7      !1, !0
         21        FETCH_DIM_R                                      ~8      ~7, 'methods'
         22        FETCH_DIM_R                                      ~9      ~8, 'Get+Stats'
         23        FETCH_DIM_R                                      ~10     ~9, 'methods'
         24        SEND_VAL                                                 ~10
         25        DO_ICALL                                         $11     
         26        SEND_VAR                                                 $11
         27        DO_ICALL                                                 
   43    28      > JMP                                                      ->32
   45    29    >   INIT_FCALL                                               'print_r'
         30        SEND_VAR                                                 !1
         31        DO_ICALL                                                 
         32    > > JMP                                                      ->36
   49    33    >   INIT_FCALL                                               'print_r'
         34        SEND_VAR                                                 !1
         35        DO_ICALL                                                 
   50    36    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.75 ms | 1400 KiB | 17 Q