3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = array( 'ua' => array( 'family', 'major' ), 'os' => array( 'family', 'major' ) ); $result = new StdClass(); $result->ua->family = "Safari"; $result->ua->major = "6"; $result->ua->minor = "0"; $result->ua->patch = "2"; $result->os->family = "Mac OS X"; $result->os->major = "10"; $result->os->minor = "7"; $result->os->patch = "5"; $result->os->patchMinor = "[null]"; array_intersect_key( (array) $result, $data );
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/SmoZq
function name:  (null)
number of ops:  37
compiled vars:  !0 = $data, !1 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    5     1        NEW                                              $3      'StdClass'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $3
    7     4        FETCH_OBJ_W                                      $6      !1, 'ua'
          5        ASSIGN_OBJ                                               $6, 'family'
          6        OP_DATA                                                  'Safari'
    8     7        FETCH_OBJ_W                                      $8      !1, 'ua'
          8        ASSIGN_OBJ                                               $8, 'major'
          9        OP_DATA                                                  '6'
    9    10        FETCH_OBJ_W                                      $10     !1, 'ua'
         11        ASSIGN_OBJ                                               $10, 'minor'
         12        OP_DATA                                                  '0'
   10    13        FETCH_OBJ_W                                      $12     !1, 'ua'
         14        ASSIGN_OBJ                                               $12, 'patch'
         15        OP_DATA                                                  '2'
   12    16        FETCH_OBJ_W                                      $14     !1, 'os'
         17        ASSIGN_OBJ                                               $14, 'family'
         18        OP_DATA                                                  'Mac+OS+X'
   13    19        FETCH_OBJ_W                                      $16     !1, 'os'
         20        ASSIGN_OBJ                                               $16, 'major'
         21        OP_DATA                                                  '10'
   14    22        FETCH_OBJ_W                                      $18     !1, 'os'
         23        ASSIGN_OBJ                                               $18, 'minor'
         24        OP_DATA                                                  '7'
   15    25        FETCH_OBJ_W                                      $20     !1, 'os'
         26        ASSIGN_OBJ                                               $20, 'patch'
         27        OP_DATA                                                  '5'
   16    28        FETCH_OBJ_W                                      $22     !1, 'os'
         29        ASSIGN_OBJ                                               $22, 'patchMinor'
         30        OP_DATA                                                  '%5Bnull%5D'
   19    31        INIT_FCALL                                               'array_intersect_key'
         32        CAST                                          7  ~24     !1
         33        SEND_VAL                                                 ~24
         34        SEND_VAR                                                 !0
         35        DO_ICALL                                                 
         36      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.54 ms | 1396 KiB | 15 Q