3v4l.org

run code in 300+ PHP versions simultaneously
===ArrayObject=== <?php $a = new ArrayObject(); $a[] = 1; $b = clone $a; var_dump($a[0], $b[0]); $b[0] = $b[0] + 1; var_dump($a[0], $b[0]); $b[0] = 3; var_dump($a[0], $b[0]); ?> ===ArrayIterator=== <?php $a = new ArrayIterator(); $a[] = 1; $b = clone $a; var_dump($a[0], $b[0]); $b[0] = $b[0] + 1; var_dump($a[0], $b[0]); $b[0] = 3; var_dump($a[0], $b[0]); ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ktFmQ
function name:  (null)
number of ops:  65
compiled vars:  !0 = $a, !1 = $b
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   ECHO                                                     '%3D%3D%3DArrayObject%3D%3D%3D%0A'
    3     1        NEW                                              $2      'ArrayObject'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $2
    4     4        ASSIGN_DIM                                               !0
          5        OP_DATA                                                  1
    6     6        CLONE                                            ~6      !0
          7        ASSIGN                                                   !1, ~6
    8     8        INIT_FCALL                                               'var_dump'
          9        FETCH_DIM_R                                      ~8      !0, 0
         10        SEND_VAL                                                 ~8
         11        FETCH_DIM_R                                      ~9      !1, 0
         12        SEND_VAL                                                 ~9
         13        DO_ICALL                                                 
    9    14        FETCH_DIM_R                                      ~12     !1, 0
         15        ADD                                              ~13     ~12, 1
         16        ASSIGN_DIM                                               !1, 0
         17        OP_DATA                                                  ~13
   10    18        INIT_FCALL                                               'var_dump'
         19        FETCH_DIM_R                                      ~14     !0, 0
         20        SEND_VAL                                                 ~14
         21        FETCH_DIM_R                                      ~15     !1, 0
         22        SEND_VAL                                                 ~15
         23        DO_ICALL                                                 
   11    24        ASSIGN_DIM                                               !1, 0
         25        OP_DATA                                                  3
   12    26        INIT_FCALL                                               'var_dump'
         27        FETCH_DIM_R                                      ~18     !0, 0
         28        SEND_VAL                                                 ~18
         29        FETCH_DIM_R                                      ~19     !1, 0
         30        SEND_VAL                                                 ~19
         31        DO_ICALL                                                 
   14    32        ECHO                                                     '%3D%3D%3DArrayIterator%3D%3D%3D%0A'
   16    33        NEW                                              $21     'ArrayIterator'
         34        DO_FCALL                                      0          
         35        ASSIGN                                                   !0, $21
   17    36        ASSIGN_DIM                                               !0
         37        OP_DATA                                                  1
   19    38        CLONE                                            ~25     !0
         39        ASSIGN                                                   !1, ~25
   21    40        INIT_FCALL                                               'var_dump'
         41        FETCH_DIM_R                                      ~27     !0, 0
         42        SEND_VAL                                                 ~27
         43        FETCH_DIM_R                                      ~28     !1, 0
         44        SEND_VAL                                                 ~28
         45        DO_ICALL                                                 
   22    46        FETCH_DIM_R                                      ~31     !1, 0
         47        ADD                                              ~32     ~31, 1
         48        ASSIGN_DIM                                               !1, 0
         49        OP_DATA                                                  ~32
   23    50        INIT_FCALL                                               'var_dump'
         51        FETCH_DIM_R                                      ~33     !0, 0
         52        SEND_VAL                                                 ~33
         53        FETCH_DIM_R                                      ~34     !1, 0
         54        SEND_VAL                                                 ~34
         55        DO_ICALL                                                 
   24    56        ASSIGN_DIM                                               !1, 0
         57        OP_DATA                                                  3
   25    58        INIT_FCALL                                               'var_dump'
         59        FETCH_DIM_R                                      ~37     !0, 0
         60        SEND_VAL                                                 ~37
         61        FETCH_DIM_R                                      ~38     !1, 0
         62        SEND_VAL                                                 ~38
         63        DO_ICALL                                                 
   26    64      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.24 ms | 1400 KiB | 15 Q