3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tmp = json_decode(json_encode( (object) array('cars' => (object) array("1" => "one")) )); var_dump($tmp->cars); // expected $cars = array("1" => "one"); $cars = (array) $tmp->cars; var_dump(array_key_exists("1", $cars)); // expected true, returns false var_dump(array_key_exists(1, $cars)); // expected true, returns false $cars = get_object_vars($tmp->cars); var_dump(array_key_exists("1", $cars)); // expected true, returns true var_dump(array_key_exists(1, $cars)); // expected true, returns true
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/3v2LH
function name:  (null)
number of ops:  39
compiled vars:  !0 = $tmp, !1 = $cars
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'json_decode'
          1        INIT_FCALL                                               'json_encode'
    4     2        CAST                                          8  ~2      <array>
          3        INIT_ARRAY                                       ~3      ~2, 'cars'
          4        CAST                                          8  ~4      ~3
          5        SEND_VAL                                                 ~4
          6        DO_ICALL                                         $5      
          7        SEND_VAR                                                 $5
          8        DO_ICALL                                         $6      
    3     9        ASSIGN                                                   !0, $6
    7    10        INIT_FCALL                                               'var_dump'
         11        FETCH_OBJ_R                                      ~8      !0, 'cars'
         12        SEND_VAL                                                 ~8
         13        DO_ICALL                                                 
    9    14        FETCH_OBJ_R                                      ~10     !0, 'cars'
         15        CAST                                          7  ~11     ~10
         16        ASSIGN                                                   !1, ~11
   11    17        INIT_FCALL                                               'var_dump'
         18        ARRAY_KEY_EXISTS                                 ~13     '1', !1
         19        SEND_VAL                                                 ~13
         20        DO_ICALL                                                 
   12    21        INIT_FCALL                                               'var_dump'
         22        ARRAY_KEY_EXISTS                                 ~15     1, !1
         23        SEND_VAL                                                 ~15
         24        DO_ICALL                                                 
   14    25        INIT_FCALL                                               'get_object_vars'
         26        FETCH_OBJ_R                                      ~17     !0, 'cars'
         27        SEND_VAL                                                 ~17
         28        DO_ICALL                                         $18     
         29        ASSIGN                                                   !1, $18
   16    30        INIT_FCALL                                               'var_dump'
         31        ARRAY_KEY_EXISTS                                 ~20     '1', !1
         32        SEND_VAL                                                 ~20
         33        DO_ICALL                                                 
   17    34        INIT_FCALL                                               'var_dump'
         35        ARRAY_KEY_EXISTS                                 ~22     1, !1
         36        SEND_VAL                                                 ~22
         37        DO_ICALL                                                 
         38      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.2 ms | 1396 KiB | 21 Q