3v4l.org

run code in 300+ PHP versions simultaneously
<?php const DB_FILE_CONTENT = <<<'JSON' { "users": { "sirCode": { "pass": "examplePass", "role": "admin", "name": "Sir Code", "uuid": "cwsUser-admin-5e73b921b7d2b" }, "dave": { "pass": "supersecretlol", "role": "god", "name": "David X. Random", "uuid": "cwsUser-admin-5e73b921b7d2c" } } } JSON; $db = json_decode(DB_FILE_CONTENT, true); $new = '{"sirCode":{"pass":"examplePass","role":"admin","name":"Sir Code","uuid":"cwsUser-admin-5e73b921b7d2b"},"sirCode2":{"pass":"examplePass","role":"admin","name":"Sir Code","uuid":"cwsUser-admin-5e73b921b7d2b"}}'; foreach (json_decode($new, true) as $name => $user) { if (!isset($db['users'][$name])) { $db['users'][$name] = $user; } } var_dump($db);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 13, Position 2 = 23
Branch analysis from position: 13
2 jumps found. (Code = 78) Position 1 = 14, Position 2 = 23
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 22
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
Branch analysis from position: 22
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
filename:       /in/gnZrl
function name:  (null)
number of ops:  28
compiled vars:  !0 = $db, !1 = $new, !2 = $user, !3 = $name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   DECLARE_CONST                                            'DB_FILE_CONTENT', '%7B%0A++++%22users%22%3A+%7B%0A++++++++%22sirCode%22%3A+%7B%0A++++++++++++%22pass%22%3A+%22examplePass%22%2C%0A++++++++++++%22role%22%3A+%22admin%22%2C%0A++++++++++++%22name%22%3A+%22Sir+Code%22%2C%0A++++++++++++%22uuid%22%3A+%22cwsUser-admin-5e73b921b7d2b%22%0A++++++++%7D%2C%0A++++++++%22dave%22%3A+%7B%0A++++++++++++%22pass%22%3A+%22supersecretlol%22%2C%0A++++++++++++%22role%22%3A+%22god%22%2C%0A++++++++++++%22name%22%3A+%22David+X.+Random%22%2C%0A++++++++++++%22uuid%22%3A+%22cwsUser-admin-5e73b921b7d2c%22%0A++++++++%7D%0A++++%7D%0A%7D'
   22     1        INIT_FCALL                                               'json_decode'
          2        FETCH_CONSTANT                                   ~4      'DB_FILE_CONTENT'
          3        SEND_VAL                                                 ~4
          4        SEND_VAL                                                 <true>
          5        DO_ICALL                                         $5      
          6        ASSIGN                                                   !0, $5
   24     7        ASSIGN                                                   !1, '%7B%22sirCode%22%3A%7B%22pass%22%3A%22examplePass%22%2C%22role%22%3A%22admin%22%2C%22name%22%3A%22Sir+Code%22%2C%22uuid%22%3A%22cwsUser-admin-5e73b921b7d2b%22%7D%2C%22sirCode2%22%3A%7B%22pass%22%3A%22examplePass%22%2C%22role%22%3A%22admin%22%2C%22name%22%3A%22Sir+Code%22%2C%22uuid%22%3A%22cwsUser-admin-5e73b921b7d2b%22%7D%7D'
   26     8        INIT_FCALL                                               'json_decode'
          9        SEND_VAR                                                 !1
         10        SEND_VAL                                                 <true>
         11        DO_ICALL                                         $8      
         12      > FE_RESET_R                                       $9      $8, ->23
         13    > > FE_FETCH_R                                       ~10     $9, !2, ->23
         14    >   ASSIGN                                                   !3, ~10
   27    15        FETCH_DIM_IS                                     ~12     !0, 'users'
         16        ISSET_ISEMPTY_DIM_OBJ                         0  ~13     ~12, !3
         17        BOOL_NOT                                         ~14     ~13
         18      > JMPZ                                                     ~14, ->22
   28    19    >   FETCH_DIM_W                                      $15     !0, 'users'
         20        ASSIGN_DIM                                               $15, !3
         21        OP_DATA                                                  !2
   26    22    > > JMP                                                      ->13
         23    >   FE_FREE                                                  $9
   32    24        INIT_FCALL                                               'var_dump'
         25        SEND_VAR                                                 !0
         26        DO_ICALL                                                 
         27      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
168.49 ms | 1401 KiB | 17 Q