3v4l.org

run code in 300+ PHP versions simultaneously
<?php class BaseClass { } class MyClass extends BaseClass{ } $object = new MyClass(); echo @is_subclass_of('BaseClass', 'BaseClass')? "Yes\n":"No<br />"; echo @is_subclass_of('MyClass', 'BaseClass')? "Yes\n":"No\n"; echo @is_subclass_of('myclass', 'baseclass')? "Yes\n":"No\n"; echo @is_subclass_of('myClass', 'baseclass', false)? 'Yes<br />':'No<br />'; echo @is_subclass_of($object, 'baseclass', false)? 'Yes<br />':'No<br />'; echo @is_subclass_of($object, 'BaseClass')? 'Yes<br />':'No<br />';
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 = 21, Position 2 = 23
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 34
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 46
Branch analysis from position: 44
1 jumps found. (Code = 42) Position 1 = 47
Branch analysis from position: 47
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 58
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 69
Branch analysis from position: 67
1 jumps found. (Code = 42) Position 1 = 70
Branch analysis from position: 70
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 69
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 69
Branch analysis from position: 67
Branch analysis from position: 69
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 58
Branch analysis from position: 56
Branch analysis from position: 58
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 46
Branch analysis from position: 44
Branch analysis from position: 46
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 34
Branch analysis from position: 32
Branch analysis from position: 34
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 23
Branch analysis from position: 21
Branch analysis from position: 23
filename:       /in/cmBVa
function name:  (null)
number of ops:  72
compiled vars:  !0 = $object
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   NEW                                              $1      'MyClass'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $1
    8     3        BEGIN_SILENCE                                    ~4      
          4        INIT_FCALL                                               'is_subclass_of'
          5        SEND_VAL                                                 'BaseClass'
          6        SEND_VAL                                                 'BaseClass'
          7        DO_ICALL                                         $5      
          8        END_SILENCE                                              ~4
          9      > JMPZ                                                     $5, ->12
         10    >   QM_ASSIGN                                        ~6      'Yes%0A'
         11      > JMP                                                      ->13
         12    >   QM_ASSIGN                                        ~6      'No%3Cbr+%2F%3E'
         13    >   ECHO                                                     ~6
    9    14        BEGIN_SILENCE                                    ~7      
         15        INIT_FCALL                                               'is_subclass_of'
         16        SEND_VAL                                                 'MyClass'
         17        SEND_VAL                                                 'BaseClass'
         18        DO_ICALL                                         $8      
         19        END_SILENCE                                              ~7
         20      > JMPZ                                                     $8, ->23
         21    >   QM_ASSIGN                                        ~9      'Yes%0A'
         22      > JMP                                                      ->24
         23    >   QM_ASSIGN                                        ~9      'No%0A'
         24    >   ECHO                                                     ~9
   10    25        BEGIN_SILENCE                                    ~10     
         26        INIT_FCALL                                               'is_subclass_of'
         27        SEND_VAL                                                 'myclass'
         28        SEND_VAL                                                 'baseclass'
         29        DO_ICALL                                         $11     
         30        END_SILENCE                                              ~10
         31      > JMPZ                                                     $11, ->34
         32    >   QM_ASSIGN                                        ~12     'Yes%0A'
         33      > JMP                                                      ->35
         34    >   QM_ASSIGN                                        ~12     'No%0A'
         35    >   ECHO                                                     ~12
   11    36        BEGIN_SILENCE                                    ~13     
         37        INIT_FCALL                                               'is_subclass_of'
         38        SEND_VAL                                                 'myClass'
         39        SEND_VAL                                                 'baseclass'
         40        SEND_VAL                                                 <false>
         41        DO_ICALL                                         $14     
         42        END_SILENCE                                              ~13
         43      > JMPZ                                                     $14, ->46
         44    >   QM_ASSIGN                                        ~15     'Yes%3Cbr+%2F%3E'
         45      > JMP                                                      ->47
         46    >   QM_ASSIGN                                        ~15     'No%3Cbr+%2F%3E'
         47    >   ECHO                                                     ~15
   12    48        BEGIN_SILENCE                                    ~16     
         49        INIT_FCALL                                               'is_subclass_of'
         50        SEND_VAR                                                 !0
         51        SEND_VAL                                                 'baseclass'
         52        SEND_VAL                                                 <false>
         53        DO_ICALL                                         $17     
         54        END_SILENCE                                              ~16
         55      > JMPZ                                                     $17, ->58
         56    >   QM_ASSIGN                                        ~18     'Yes%3Cbr+%2F%3E'
         57      > JMP                                                      ->59
         58    >   QM_ASSIGN                                        ~18     'No%3Cbr+%2F%3E'
         59    >   ECHO                                                     ~18
   13    60        BEGIN_SILENCE                                    ~19     
         61        INIT_FCALL                                               'is_subclass_of'
         62        SEND_VAR                                                 !0
         63        SEND_VAL                                                 'BaseClass'
         64        DO_ICALL                                         $20     
         65        END_SILENCE                                              ~19
         66      > JMPZ                                                     $20, ->69
         67    >   QM_ASSIGN                                        ~21     'Yes%3Cbr+%2F%3E'
         68      > JMP                                                      ->70
         69    >   QM_ASSIGN                                        ~21     'No%3Cbr+%2F%3E'
         70    >   ECHO                                                     ~21
         71      > RETURN                                                   1

Class BaseClass: [no user functions]
Class MyClass: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.6 ms | 1409 KiB | 15 Q