3v4l.org

run code in 500+ PHP versions simultaneously
<?php class UserDefinedClass{} class DynamicObject{} $ud_obj = new UserDefinedClass(); $do_obj = new DynamicObject(); $sc_obj = new stdClass(); $a_obj = (object)array(); echo "===[get_class()]===\n"; printf( "UserDefinedClass Object Class: %s\n", get_class($ud_obj)); printf( "DynamicObject Object Class: %s\n", get_class($do_obj)); printf( "StdClass Object Class: %s\n", get_class($sc_obj)); printf( "Array-derived Object Class: %s\n", get_class($a_obj)); echo "\n===[gettype()]===\n"; printf( "UserDefinedClass Object Type: %s\n", gettype($ud_obj)); printf( "DynamicObject Object Type: %s\n", gettype($do_obj)); printf( "StdClass Object Type: %s\n", gettype($sc_obj)); printf( "Array-derived Object Type: %s\n", gettype($a_obj)); echo "\n===[is_a(stdClass::class)]===\n"; printf( "UserDefinedClass Object Type: %s\n", is_a($ud_obj,stdClass::class)); printf( "DynamicObject Object Type: %s\n", is_a($do_obj,stdClass::class)); printf( "StdClass Object Type: %s\n", is_a($sc_obj,stdClass::class)); printf( "Array-derived Object Type: %s\n", is_a($a_obj,stdClass::class)); echo "\n===[instanceof stdClass]===\n"; printf( "UserDefinedClass Object Type: %s\n", $ud_obj instanceof stdClass); printf( "DynamicObject Object Type: %s\n", $do_obj instanceof stdClass); printf( "StdClass Object Type: %s\n", $sc_obj instanceof stdClass); printf( "Array-derived Object Type: %s\n", $a_obj instanceof stdClass); echo "\n===[is_a(DynamicObject::class)]===\n"; printf( "UserDefinedClass Object Type: %s\n", is_a($ud_obj,DynamicObject::class)); printf( "DynamicObject Object Type: %s\n", is_a($do_obj,DynamicObject::class)); printf( "DynamicObject Object Type: %s\n", is_a($sc_obj,DynamicObject::class)); printf( "Array-derived Object Type: %s\n", is_a($a_obj,DynamicObject::class)); echo "\n===[instanceof DynamicObject]===\n"; printf( "UserDefinedClass Object Type: %s\n", $ud_obj instanceof DynamicObject); printf( "DynamicObject Object Type: %s\n", $do_obj instanceof DynamicObject); printf( "DynamicObject Object Type: %s\n", $sc_obj instanceof DynamicObject); printf( "Array-derived Object Type: %s\n", $a_obj instanceof DynamicObject); echo "\n===[is_subclass_of(stdClass::class)]===\n"; printf( "UserDefinedClass Object Type: %s\n", is_subclass_of($ud_obj,stdClass::class)); printf( "DynamicObject Object Type: %s\n", is_subclass_of($do_obj,stdClass::class)); printf( "StdClass Object Type: %s\n", is_subclass_of($sc_obj,stdClass::class)); printf( "Array-derived Object Type: %s\n", is_subclass_of($a_obj,stdClass::class));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/MDlOn
function name:  (null)
number of ops:  195
compiled vars:  !0 = $ud_obj, !1 = $do_obj, !2 = $sc_obj, !3 = $a_obj
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    7     0  E >   NEW                                                  $4      'UserDefinedClass'
          1        DO_FCALL                                          0          
          2        ASSIGN                                                       !0, $4
    8     3        NEW                                                  $7      'DynamicObject'
          4        DO_FCALL                                          0          
          5        ASSIGN                                                       !1, $7
    9     6        NEW                                                  $10     'stdClass'
          7        DO_FCALL                                          0          
          8        ASSIGN                                                       !2, $10
   10     9        CAST                                              8  ~13     <array>
         10        ASSIGN                                                       !3, ~13
   12    11        ECHO                                                         '%3D%3D%3D%5Bget_class%28%29%5D%3D%3D%3D%0A'
   13    12        INIT_FCALL                                                   'printf'
         13        SEND_VAL                                                     'UserDefinedClass+Object+Class%3A+%25s%0A'
         14        GET_CLASS                                            ~15     !0
         15        SEND_VAL                                                     ~15
         16        DO_ICALL                                                     
   14    17        INIT_FCALL                                                   'printf'
         18        SEND_VAL                                                     'DynamicObject+Object+Class%3A++++%25s%0A'
         19        GET_CLASS                                            ~17     !1
         20        SEND_VAL                                                     ~17
         21        DO_ICALL                                                     
   15    22        INIT_FCALL                                                   'printf'
         23        SEND_VAL                                                     'StdClass+Object+Class%3A+++++++++%25s%0A'
         24        GET_CLASS                                            ~19     !2
         25        SEND_VAL                                                     ~19
         26        DO_ICALL                                                     
   16    27        INIT_FCALL                                                   'printf'
         28        SEND_VAL                                                     'Array-derived+Object+Class%3A++++%25s%0A'
         29        GET_CLASS                                            ~21     !3
         30        SEND_VAL                                                     ~21
         31        DO_ICALL                                                     
   18    32        ECHO                                                         '%0A%3D%3D%3D%5Bgettype%28%29%5D%3D%3D%3D%0A'
   19    33        INIT_FCALL                                                   'printf'
         34        SEND_VAL                                                     'UserDefinedClass+Object+Type%3A++%25s%0A'
         35        GET_TYPE                                             ~23     !0
         36        SEND_VAL                                                     ~23
         37        DO_ICALL                                                     
   20    38        INIT_FCALL                                                   'printf'
         39        SEND_VAL                                                     'DynamicObject+Object+Type%3A+++++%25s%0A'
         40        GET_TYPE                                             ~25     !1
         41        SEND_VAL                                                     ~25
         42        DO_ICALL                                                     
   21    43        INIT_FCALL                                                   'printf'
         44        SEND_VAL                                                     'StdClass+Object+Type%3A++++++++++%25s%0A'
         45        GET_TYPE                                             ~27     !2
         46        SEND_VAL                                                     ~27
         47        DO_ICALL                                                     
   22    48        INIT_FCALL                                                   'printf'
         49        SEND_VAL                                                     'Array-derived+Object+Type%3A+++++%25s%0A'
         50        GET_TYPE                                             ~29     !3
         51        SEND_VAL                                                     ~29
         52        DO_ICALL                                                     
   25    53        ECHO                                                         '%0A%3D%3D%3D%5Bis_a%28stdClass%3A%3Aclass%29%5D%3D%3D%3D%0A'
   26    54        INIT_FCALL                                                   'printf'
         55        SEND_VAL                                                     'UserDefinedClass+Object+Type%3A++%25s%0A'
         56        INIT_FCALL                                                   'is_a'
         57        SEND_VAR                                                     !0
         58        SEND_VAL                                                     'stdClass'
         59        DO_ICALL                                             $31     
         60        SEND_VAR                                                     $31
         61        DO_ICALL                                                     
   27    62        INIT_FCALL                                                   'printf'
         63        SEND_VAL                                                     'DynamicObject+Object+Type%3A+++++%25s%0A'
         64        INIT_FCALL                                                   'is_a'
         65        SEND_VAR                                                     !1
         66        SEND_VAL                                                     'stdClass'
         67        DO_ICALL                                             $33     
         68        SEND_VAR                                                     $33
         69        DO_ICALL                                                     
   28    70        INIT_FCALL                                                   'printf'
         71        SEND_VAL                                                     'StdClass+Object+Type%3A++++++++++%25s%0A'
         72        INIT_FCALL                                                   'is_a'
         73        SEND_VAR                                                     !2
         74        SEND_VAL                                                     'stdClass'
         75        DO_ICALL                                             $35     
         76        SEND_VAR                                                     $35
         77        DO_ICALL                                                     
   29    78        INIT_FCALL                                                   'printf'
         79        SEND_VAL                                                     'Array-derived+Object+Type%3A+++++%25s%0A'
         80        INIT_FCALL                                                   'is_a'
         81        SEND_VAR                                                     !3
         82        SEND_VAL                                                     'stdClass'
         83        DO_ICALL                                             $37     
         84        SEND_VAR                                                     $37
         85        DO_ICALL                                                     
   32    86        ECHO                                                         '%0A%3D%3D%3D%5Binstanceof+stdClass%5D%3D%3D%3D%0A'
   33    87        INIT_FCALL                                                   'printf'
         88        SEND_VAL                                                     'UserDefinedClass+Object+Type%3A++%25s%0A'
         89        INSTANCEOF                                           ~39     !0, 'stdClass'
         90        SEND_VAL                                                     ~39
         91        DO_ICALL                                                     
   34    92        INIT_FCALL                                                   'printf'
         93        SEND_VAL                                                     'DynamicObject+Object+Type%3A+++++%25s%0A'
         94        INSTANCEOF                                           ~41     !1, 'stdClass'
         95        SEND_VAL                                                     ~41
         96        DO_ICALL                                                     
   35    97        INIT_FCALL                                                   'printf'
         98        SEND_VAL                                                     'StdClass+Object+Type%3A++++++++++%25s%0A'
         99        INSTANCEOF                                           ~43     !2, 'stdClass'
        100        SEND_VAL                                                     ~43
        101        DO_ICALL                                                     
   36   102        INIT_FCALL                                                   'printf'
        103        SEND_VAL                                                     'Array-derived+Object+Type%3A+++++%25s%0A'
        104        INSTANCEOF                                           ~45     !3, 'stdClass'
        105        SEND_VAL                                                     ~45
        106        DO_ICALL                                                     
   38   107        ECHO                                                         '%0A%3D%3D%3D%5Bis_a%28DynamicObject%3A%3Aclass%29%5D%3D%3D%3D%0A'
   39   108        INIT_FCALL                                                   'printf'
        109        SEND_VAL                                                     'UserDefinedClass+Object+Type%3A++%25s%0A'
        110        INIT_FCALL                                                   'is_a'
        111        SEND_VAR                                                     !0
        112        SEND_VAL                                                     'DynamicObject'
        113        DO_ICALL                                             $47     
        114        SEND_VAR                                                     $47
        115        DO_ICALL                                                     
   40   116        INIT_FCALL                                                   'printf'
        117        SEND_VAL                                                     'DynamicObject+Object+Type%3A+++++%25s%0A'
        118        INIT_FCALL                                                   'is_a'
        119        SEND_VAR                                                     !1
        120        SEND_VAL                                                     'DynamicObject'
        121        DO_ICALL                                             $49     
        122        SEND_VAR                                                     $49
        123        DO_ICALL                                                     
   41   124        INIT_FCALL                                                   'printf'
        125        SEND_VAL                                                     'DynamicObject+Object+Type%3A++++++++++%25s%0A'
        126        INIT_FCALL                                                   'is_a'
        127        SEND_VAR                                                     !2
        128        SEND_VAL                                                     'DynamicObject'
        129        DO_ICALL                                             $51     
        130        SEND_VAR                                                     $51
        131        DO_ICALL                                                     
   42   132        INIT_FCALL                                                   'printf'
        133        SEND_VAL                                                     'Array-derived+Object+Type%3A+++++%25s%0A'
        134        INIT_FCALL                                                   'is_a'
        135        SEND_VAR                                                     !3
        136        SEND_VAL                                                     'DynamicObject'
        137        DO_ICALL                                             $53     
        138        SEND_VAR                                                     $53
        139        DO_ICALL                                                     
   45   140        ECHO                                                         '%0A%3D%3D%3D%5Binstanceof+DynamicObject%5D%3D%3D%3D%0A'
   46   141        INIT_FCALL                                                   'printf'
        142        SEND_VAL                                                     'UserDefinedClass+Object+Type%3A++%25s%0A'
        143        INSTANCEOF                                           ~55     !0, 'DynamicObject'
        144        SEND_VAL                                                     ~55
        145        DO_ICALL                                                     
   47   146        INIT_FCALL                                                   'printf'
        147        SEND_VAL                                                     'DynamicObject+Object+Type%3A+++++%25s%0A'
        148        INSTANCEOF                                           ~57     !1, 'DynamicObject'
        149        SEND_VAL                                                     ~57
        150        DO_ICALL                                                     
   48   151        INIT_FCALL                                                   'printf'
        152        SEND_VAL                                                     'DynamicObject+Object+Type%3A++++++++++%25s%0A'
        153        INSTANCEOF                                           ~59     !2, 'DynamicObject'
        154        SEND_VAL                                                     ~59
        155        DO_ICALL                                                     
   49   156        INIT_FCALL                                                   'printf'
        157        SEND_VAL                                                     'Array-derived+Object+Type%3A+++++%25s%0A'
        158        INSTANCEOF                                           ~61     !3, 'DynamicObject'
        159        SEND_VAL                                                     ~61
        160        DO_ICALL                                                     
   52   161        ECHO                                                         '%0A%3D%3D%3D%5Bis_subclass_of%28stdClass%3A%3Aclass%29%5D%3D%3D%3D%0A'
   53   162        INIT_FCALL                                                   'printf'
        163        SEND_VAL                                                     'UserDefinedClass+Object+Type%3A++%25s%0A'
        164        INIT_FCALL                                                   'is_subclass_of'
        165        SEND_VAR                                                     !0
        166        SEND_VAL                                                     'stdClass'
        167        DO_ICALL                                             $63     
        168        SEND_VAR                                                     $63
        169        DO_ICALL                                                     
   54   170        INIT_FCALL                                                   'printf'
        171        SEND_VAL                                                     'DynamicObject+Object+Type%3A+++++%25s%0A'
        172        INIT_FCALL                                                   'is_subclass_of'
        173        SEND_VAR                                                     !1
        174        SEND_VAL                                                     'stdClass'
        175        DO_ICALL                                             $65     
        176        SEND_VAR                                                     $65
        177        DO_ICALL                                                     
   55   178        INIT_FCALL                                                   'printf'
        179        SEND_VAL                                                     'StdClass+Object+Type%3A++++++++++%25s%0A'
        180        INIT_FCALL                                                   'is_subclass_of'
        181        SEND_VAR                                                     !2
        182        SEND_VAL                                                     'stdClass'
        183        DO_ICALL                                             $67     
        184        SEND_VAR                                                     $67
        185        DO_ICALL                                                     
   56   186        INIT_FCALL                                                   'printf'
        187        SEND_VAL                                                     'Array-derived+Object+Type%3A+++++%25s%0A'
        188        INIT_FCALL                                                   'is_subclass_of'
        189        SEND_VAR                                                     !3
        190        SEND_VAL                                                     'stdClass'
        191        DO_ICALL                                             $69     
        192        SEND_VAR                                                     $69
        193        DO_ICALL                                                     
        194      > RETURN                                                       1

Class UserDefinedClass: [no user functions]
Class DynamicObject: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
160.93 ms | 1586 KiB | 16 Q