3v4l.org

run code in 500+ PHP versions simultaneously
<?php class Foo implements ArrayAccess { public function offsetGet(mixed $offset) { } public function offsetExists(mixed $offset) { } public function offsetSet(mixed $offset, mixed $value) { } public function offsetUnset(mixed $offset) { } } class Foo81 implements ArrayAccess { #[\ReturnTypeWillChange] public function offsetGet(mixed $offset) { } #[\ReturnTypeWillChange] public function offsetExists(mixed $offset) { } #[\ReturnTypeWillChange] public function offsetSet(mixed $offset, mixed $value) { } #[\ReturnTypeWillChange] public function offsetUnset(mixed $offset) { } } class Foo81ForReal implements ArrayAccess { public function offsetGet(mixed $offset): string { } public function offsetExists(mixed $offset): bool { } public function offsetSet(mixed $offset, mixed $value): void { } public function offsetUnset(mixed $offset): void { } }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  (null)
number of ops:  4
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    2     0  E >   DECLARE_CLASS                                                'foo'
   22     1        DECLARE_CLASS                                                'foo81'
   46     2        DECLARE_CLASS                                                'foo81forreal'
   64     3      > RETURN                                                       1

Class Foo:
Function offsetget:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetGet
number of ops:  2
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    4     0  E >   RECV                                                 !0      
    6     1      > RETURN                                                       null

End of function offsetget

Function offsetexists:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetExists
number of ops:  2
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    8     0  E >   RECV                                                 !0      
   10     1      > RETURN                                                       null

End of function offsetexists

Function offsetset:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetSet
number of ops:  3
compiled vars:  !0 = $offset, !1 = $value
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   12     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
   14     2      > RETURN                                                       null

End of function offsetset

Function offsetunset:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetUnset
number of ops:  2
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   16     0  E >   RECV                                                 !0      
   18     1      > RETURN                                                       null

End of function offsetunset

End of class Foo.

Class Foo81:
Function offsetget:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetGet
number of ops:  2
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   25     0  E >   RECV                                                 !0      
   27     1      > RETURN                                                       null

End of function offsetget

Function offsetexists:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetExists
number of ops:  2
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   30     0  E >   RECV                                                 !0      
   32     1      > RETURN                                                       null

End of function offsetexists

Function offsetset:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetSet
number of ops:  3
compiled vars:  !0 = $offset, !1 = $value
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   35     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
   37     2      > RETURN                                                       null

End of function offsetset

Function offsetunset:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetUnset
number of ops:  2
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   40     0  E >   RECV                                                 !0      
   42     1      > RETURN                                                       null

End of function offsetunset

End of class Foo81.

Class Foo81ForReal:
Function offsetget:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetGet
number of ops:  3
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   48     0  E >   RECV                                                 !0      
   50     1        VERIFY_RETURN_TYPE                                           
          2      > RETURN                                                       null

End of function offsetget

Function offsetexists:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetExists
number of ops:  3
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   52     0  E >   RECV                                                 !0      
   54     1        VERIFY_RETURN_TYPE                                           
          2      > RETURN                                                       null

End of function offsetexists

Function offsetset:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetSet
number of ops:  3
compiled vars:  !0 = $offset, !1 = $value
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   56     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
   58     2      > RETURN                                                       null

End of function offsetset

Function offsetunset:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dd5Lp
function name:  offsetUnset
number of ops:  2
compiled vars:  !0 = $offset
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   60     0  E >   RECV                                                 !0      
   62     1      > RETURN                                                       null

End of function offsetunset

End of class Foo81ForReal.

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
203.83 ms | 2011 KiB | 13 Q