3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_dump([ $original_set = [ 'arrayobject' => new arrayobject( [3] ), 'reference?' => [5] ], $original_serialized = serialize( $original_set ), $original_unserialized = unserialize( $original_serialized ), $withreference_serialized = preg_replace( '/a:1:{i:0;i:5;}}/', 'R:4;}', $original_serialized ), $withreference_unserialized = unserialize( $withreference_serialized ), $withreference_unserialized['reference?'][9] = 8, $withreference_unserialized, $withreference_unserialized['arrayobject'][9] === $withreference_unserialized['reference?'][9] # ? 'looks like a reference' : 'does not look like a reference' , ]) ;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jdkbA
function name:  (null)
number of ops:  44
compiled vars:  !0 = $original_set, !1 = $original_serialized, !2 = $original_unserialized, !3 = $withreference_serialized, !4 = $withreference_unserialized
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'var_dump'
    4     1        NEW                                              $5      'arrayobject'
          2        SEND_VAL_EX                                              <array>
          3        DO_FCALL                                      0          
          4        INIT_ARRAY                                       ~7      $5, 'arrayobject'
          5        ADD_ARRAY_ELEMENT                                ~7      <array>, 'reference%3F'
          6        ASSIGN                                           ~8      !0, ~7
          7        INIT_ARRAY                                       ~9      ~8
    5     8        INIT_FCALL                                               'serialize'
          9        SEND_VAR                                                 !0
         10        DO_ICALL                                         $10     
         11        ASSIGN                                           ~11     !1, $10
         12        ADD_ARRAY_ELEMENT                                ~9      ~11
    6    13        INIT_FCALL                                               'unserialize'
         14        SEND_VAR                                                 !1
         15        DO_ICALL                                         $12     
         16        ASSIGN                                           ~13     !2, $12
         17        ADD_ARRAY_ELEMENT                                ~9      ~13
    7    18        INIT_FCALL                                               'preg_replace'
         19        SEND_VAL                                                 '%2Fa%3A1%3A%7Bi%3A0%3Bi%3A5%3B%7D%7D%2F'
         20        SEND_VAL                                                 'R%3A4%3B%7D'
         21        SEND_VAR                                                 !1
         22        DO_ICALL                                         $14     
         23        ASSIGN                                           ~15     !3, $14
         24        ADD_ARRAY_ELEMENT                                ~9      ~15
    8    25        INIT_FCALL                                               'unserialize'
         26        SEND_VAR                                                 !3
         27        DO_ICALL                                         $16     
         28        ASSIGN                                           ~17     !4, $16
         29        ADD_ARRAY_ELEMENT                                ~9      ~17
    9    30        FETCH_DIM_W                                      $18     !4, 'reference%3F'
         31        ASSIGN_DIM                                       ~19     $18, 9
         32        OP_DATA                                                  8
         33        ADD_ARRAY_ELEMENT                                ~9      ~19
   10    34        ADD_ARRAY_ELEMENT                                ~9      !4
   11    35        FETCH_DIM_R                                      ~20     !4, 'arrayobject'
         36        FETCH_DIM_R                                      ~21     ~20, 9
         37        FETCH_DIM_R                                      ~22     !4, 'reference%3F'
         38        FETCH_DIM_R                                      ~23     ~22, 9
         39        IS_IDENTICAL                                     ~24     ~21, ~23
         40        ADD_ARRAY_ELEMENT                                ~9      ~24
         41        SEND_VAL                                                 ~9
         42        DO_ICALL                                                 
   13    43      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.46 ms | 1400 KiB | 21 Q