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 = new StdClass(); $result->ua->family = "Safari"; $result->ua->major = "6"; $result->ua->minor = "0"; $result->ua->patch = "2"; $result->os = new StdClass(); $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/PUITQ
function name:  (null)
number of ops:  45
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        NEW                                              $7      'StdClass'
          5        DO_FCALL                                      0          
          6        ASSIGN_OBJ                                               !1, 'ua'
          7        OP_DATA                                                  $7
    8     8        FETCH_OBJ_W                                      $9      !1, 'ua'
          9        ASSIGN_OBJ                                               $9, 'family'
         10        OP_DATA                                                  'Safari'
    9    11        FETCH_OBJ_W                                      $11     !1, 'ua'
         12        ASSIGN_OBJ                                               $11, 'major'
         13        OP_DATA                                                  '6'
   10    14        FETCH_OBJ_W                                      $13     !1, 'ua'
         15        ASSIGN_OBJ                                               $13, 'minor'
         16        OP_DATA                                                  '0'
   11    17        FETCH_OBJ_W                                      $15     !1, 'ua'
         18        ASSIGN_OBJ                                               $15, 'patch'
         19        OP_DATA                                                  '2'
   13    20        NEW                                              $18     'StdClass'
         21        DO_FCALL                                      0          
         22        ASSIGN_OBJ                                               !1, 'os'
         23        OP_DATA                                                  $18
   14    24        FETCH_OBJ_W                                      $20     !1, 'os'
         25        ASSIGN_OBJ                                               $20, 'family'
         26        OP_DATA                                                  'Mac+OS+X'
   15    27        FETCH_OBJ_W                                      $22     !1, 'os'
         28        ASSIGN_OBJ                                               $22, 'major'
         29        OP_DATA                                                  '10'
   16    30        FETCH_OBJ_W                                      $24     !1, 'os'
         31        ASSIGN_OBJ                                               $24, 'minor'
         32        OP_DATA                                                  '7'
   17    33        FETCH_OBJ_W                                      $26     !1, 'os'
         34        ASSIGN_OBJ                                               $26, 'patch'
         35        OP_DATA                                                  '5'
   18    36        FETCH_OBJ_W                                      $28     !1, 'os'
         37        ASSIGN_OBJ                                               $28, 'patchMinor'
         38        OP_DATA                                                  '%5Bnull%5D'
   21    39        INIT_FCALL                                               'array_intersect_key'
         40        CAST                                          7  ~30     !1
         41        SEND_VAL                                                 ~30
         42        SEND_VAR                                                 !0
         43        DO_ICALL                                                 
         44      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.26 ms | 1392 KiB | 15 Q