3v4l.org

run code in 500+ PHP versions simultaneously
<?php enum MyStringBackedEnum: string { case STRING = "string"; } $string = MyStringBackedEnum::STRING; print_r((is_a($string, \StringBackedEnum::class, true)) ? 'Is a StringBackedEnum': 'Is not a StringBackedEnum'); print_r("\n"); print_r((is_a($string, \BackedEnum::class, true)) ? 'Is a BackedEnum': 'Is not a BackedEnum');
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 12
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
Branch analysis from position: 27
filename:       /in/6XCOJ
function name:  (null)
number of ops:  31
compiled vars:  !0 = $string
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   DECLARE_CLASS                                                'mystringbackedenum'
    8     1        FETCH_CLASS_CONSTANT                                 ~1      'MyStringBackedEnum', 'STRING'
          2        ASSIGN                                                       !0, ~1
   10     3        INIT_FCALL                                                   'print_r'
          4        INIT_FCALL                                                   'is_a'
          5        SEND_VAR                                                     !0
          6        SEND_VAL                                                     'StringBackedEnum'
          7        SEND_VAL                                                     <true>
          8        DO_ICALL                                             $3      
          9      > JMPZ                                                         $3, ->12
         10    >   QM_ASSIGN                                            ~4      'Is+a+StringBackedEnum'
         11      > JMP                                                          ->13
         12    >   QM_ASSIGN                                            ~4      'Is+not+a+StringBackedEnum'
         13    >   SEND_VAL                                                     ~4
         14        DO_ICALL                                                     
   11    15        INIT_FCALL                                                   'print_r'
         16        SEND_VAL                                                     '%0A'
         17        DO_ICALL                                                     
   12    18        INIT_FCALL                                                   'print_r'
         19        INIT_FCALL                                                   'is_a'
         20        SEND_VAR                                                     !0
         21        SEND_VAL                                                     'BackedEnum'
         22        SEND_VAL                                                     <true>
         23        DO_ICALL                                             $7      
         24      > JMPZ                                                         $7, ->27
         25    >   QM_ASSIGN                                            ~8      'Is+a+BackedEnum'
         26      > JMP                                                          ->28
         27    >   QM_ASSIGN                                            ~8      'Is+not+a+BackedEnum'
         28    >   SEND_VAL                                                     ~8
         29        DO_ICALL                                                     
         30      > RETURN                                                       1

Class MyStringBackedEnum: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
131.49 ms | 479 KiB | 9 Q