3v4l.org

run code in 300+ PHP versions simultaneously
<?php $value = 2; $array = [1, 2, 3]; array_unshift($array,$value); // prepend a duplicate var_export(array_unique($array)); // kill the original echo "\n---\n"; $value = 2; $array = [1, 2, 3]; var_export(array_unique(array_merge([$value],$array))); // prepend a duplicate, kill the original echo "\n---\n"; $value = 2; $array = [1, 2, 3]; array_unshift($array,$value); // prepend a duplicate var_export(array_keys(array_keys($array))); // kill the original echo "\n---\n"; $value = 2; $array = [1, 2, 3]; var_export(array_keys(array_keys(array_merge([$value],$array)))); // prepend a duplicate, kill the original
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/5Ib3T
function name:  (null)
number of ops:  60
compiled vars:  !0 = $value, !1 = $array
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 2
    3     1        ASSIGN                                                   !1, <array>
    4     2        INIT_FCALL                                               'array_unshift'
          3        SEND_REF                                                 !1
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                                 
    5     6        INIT_FCALL                                               'var_export'
          7        INIT_FCALL                                               'array_unique'
          8        SEND_VAR                                                 !1
          9        DO_ICALL                                         $5      
         10        SEND_VAR                                                 $5
         11        DO_ICALL                                                 
    7    12        ECHO                                                     '%0A---%0A'
    9    13        ASSIGN                                                   !0, 2
   10    14        ASSIGN                                                   !1, <array>
   11    15        INIT_FCALL                                               'var_export'
         16        INIT_FCALL                                               'array_unique'
         17        INIT_FCALL                                               'array_merge'
         18        INIT_ARRAY                                       ~9      !0
         19        SEND_VAL                                                 ~9
         20        SEND_VAR                                                 !1
         21        DO_ICALL                                         $10     
         22        SEND_VAR                                                 $10
         23        DO_ICALL                                         $11     
         24        SEND_VAR                                                 $11
         25        DO_ICALL                                                 
   13    26        ECHO                                                     '%0A---%0A'
   15    27        ASSIGN                                                   !0, 2
   16    28        ASSIGN                                                   !1, <array>
   17    29        INIT_FCALL                                               'array_unshift'
         30        SEND_REF                                                 !1
         31        SEND_VAR                                                 !0
         32        DO_ICALL                                                 
   18    33        INIT_FCALL                                               'var_export'
         34        INIT_FCALL                                               'array_keys'
         35        INIT_FCALL                                               'array_keys'
         36        SEND_VAR                                                 !1
         37        DO_ICALL                                         $16     
         38        SEND_VAR                                                 $16
         39        DO_ICALL                                         $17     
         40        SEND_VAR                                                 $17
         41        DO_ICALL                                                 
   20    42        ECHO                                                     '%0A---%0A'
   22    43        ASSIGN                                                   !0, 2
   23    44        ASSIGN                                                   !1, <array>
   24    45        INIT_FCALL                                               'var_export'
         46        INIT_FCALL                                               'array_keys'
         47        INIT_FCALL                                               'array_keys'
         48        INIT_FCALL                                               'array_merge'
         49        INIT_ARRAY                                       ~21     !0
         50        SEND_VAL                                                 ~21
         51        SEND_VAR                                                 !1
         52        DO_ICALL                                         $22     
         53        SEND_VAR                                                 $22
         54        DO_ICALL                                         $23     
         55        SEND_VAR                                                 $23
         56        DO_ICALL                                         $24     
         57        SEND_VAR                                                 $24
         58        DO_ICALL                                                 
         59      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
183.41 ms | 1400 KiB | 23 Q