3v4l.org

run code in 300+ PHP versions simultaneously
<?php if( ! (array_key_exists( 'values', get_defined_vars()) && (is_array($values)))) { throw new Exception( implode(', ', [NULL, 'values', 'array', array_key_exists( 'values', get_defined_vars()) ? gettype($values) : 'none']) ); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 4, Position 2 = 6
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 28
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 21
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 21
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
filename:       /in/nX3Nj
function name:  (null)
number of ops:  29
compiled vars:  !0 = $values
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   INIT_FCALL                                               'get_defined_vars'
          1        DO_ICALL                                         $1      
          2        ARRAY_KEY_EXISTS                                 ~2      'values', $1
          3      > JMPZ_EX                                          ~2      ~2, ->6
          4    >   TYPE_CHECK                                  128  ~3      !0
          5        BOOL                                             ~2      ~3
          6    >   BOOL_NOT                                         ~4      ~2
          7      > JMPZ                                                     ~4, ->28
    6     8    >   NEW                                              $5      'Exception'
    7     9        INIT_FCALL                                               'implode'
         10        SEND_VAL                                                 '%2C+'
         11        INIT_ARRAY                                       ~6      null
         12        ADD_ARRAY_ELEMENT                                ~6      'values'
         13        ADD_ARRAY_ELEMENT                                ~6      'array'
         14        INIT_FCALL                                               'get_defined_vars'
         15        DO_ICALL                                         $7      
         16        ARRAY_KEY_EXISTS                                         'values', $7
         17      > JMPZ                                                     ~8, ->21
         18    >   GET_TYPE                                         ~9      !0
         19        QM_ASSIGN                                        ~10     ~9
         20      > JMP                                                      ->22
         21    >   QM_ASSIGN                                        ~10     'none'
         22    >   ADD_ARRAY_ELEMENT                                ~6      ~10
         23        SEND_VAL                                                 ~6
         24        DO_ICALL                                         $11     
         25        SEND_VAR_NO_REF_EX                                       $11
         26        DO_FCALL                                      0          
         27      > THROW                                         0          $5
   10    28    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
199.05 ms | 1401 KiB | 17 Q