3v4l.org

run code in 300+ PHP versions simultaneously
<?php class D{ public $flag=True; public function __get($a){ if($this->flag){ echo 'flag'; }else{ echo 'hint'; } } public function __wakeup(){ $this->flag = False; } } class C{ public function __destruct(){ echo $this->c->b; } } @unserialize('O:1:"C":1:{s:1:"c";O:1:"D":0:{};N;}');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4nZUm
function name:  (null)
number of ops:  6
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   25     0  E >   BEGIN_SILENCE                                    ~0      
          1        INIT_FCALL                                               'unserialize'
          2        SEND_VAL                                                 'O%3A1%3A%22C%22%3A1%3A%7Bs%3A1%3A%22c%22%3BO%3A1%3A%22D%22%3A0%3A%7B%7D%3BN%3B%7D'
          3        DO_ICALL                                                 
          4        END_SILENCE                                              ~0
          5      > RETURN                                                   1

Class D:
Function __get:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 5
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4nZUm
function name:  __get
number of ops:  7
compiled vars:  !0 = $a
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
    6     1        FETCH_OBJ_R                                      ~1      'flag'
          2      > JMPZ                                                     ~1, ->5
    7     3    >   ECHO                                                     'flag'
          4      > JMP                                                      ->6
    9     5    >   ECHO                                                     'hint'
   11     6    > > RETURN                                                   null

End of function __get

Function __wakeup:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4nZUm
function name:  __wakeup
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   ASSIGN_OBJ                                               'flag'
          1        OP_DATA                                                  <false>
   15     2      > RETURN                                                   null

End of function __wakeup

End of class D.

Class C:
Function __destruct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4nZUm
function name:  __destruct
number of ops:  4
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   21     0  E >   FETCH_OBJ_R                                      ~0      'c'
          1        FETCH_OBJ_R                                      ~1      ~0, 'b'
          2        ECHO                                                     ~1
   22     3      > RETURN                                                   null

End of function __destruct

End of class C.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
164.05 ms | 1396 KiB | 15 Q