3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_POST = [ 'JsonData' => '[{"firstname":""},{"lastname":""},{"email":""},{"countryCode":""},{"phone":""},{"i_signup_password":""},{"i_signup_password_rep":""},{"email":""},{"i_signin_password":""},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"}]', 'otherdata' => 'otherdata', 'a number' => 8, ]; foreach ($_POST as $key => $value) { $decoded = json_decode($value, true); $newValue = json_last_error() ? $value : $decoded; if (is_array($decoded) && $newValue === array_values($newValue)) { $newValue = array_merge(...$newValue); } var_export($newValue); echo "\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 35
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 35
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
2 jumps found. (Code = 46) Position 1 = 20, Position 2 = 25
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 30
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 30
Branch analysis from position: 25
Branch analysis from position: 16
2 jumps found. (Code = 46) Position 1 = 20, Position 2 = 25
Branch analysis from position: 20
Branch analysis from position: 25
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 35
filename:       /in/4ms0W
function name:  (null)
number of ops:  37
compiled vars:  !0 = $value, !1 = $key, !2 = $decoded, !3 = $newValue
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   FETCH_W                      global              $4      '_POST'
   4     1        ASSIGN                                                   $4, <array>
   9     2        FETCH_R                      global              ~6      '_POST'
         3      > FE_RESET_R                                       $7      ~6, ->35
         4    > > FE_FETCH_R                                       ~8      $7, !0, ->35
         5    >   ASSIGN                                                   !1, ~8
  10     6        INIT_FCALL                                               'json_decode'
         7        SEND_VAR                                                 !0
         8        SEND_VAL                                                 <true>
         9        DO_ICALL                                         $10     
        10        ASSIGN                                                   !2, $10
  11    11        INIT_FCALL                                               'json_last_error'
        12        DO_ICALL                                         $12     
        13      > JMPZ                                                     $12, ->16
        14    >   QM_ASSIGN                                        ~13     !0
        15      > JMP                                                      ->17
        16    >   QM_ASSIGN                                        ~13     !2
        17    >   ASSIGN                                                   !3, ~13
  12    18        TYPE_CHECK                                  128  ~15     !2
        19      > JMPZ_EX                                          ~15     ~15, ->25
        20    >   INIT_FCALL                                               'array_values'
        21        SEND_VAR                                                 !3
        22        DO_ICALL                                         $16     
        23        IS_NOT_IDENTICAL                                 ~17     !3, $16
        24        BOOL                                             ~15     ~17
        25    > > JMPZ                                                     ~15, ->30
  13    26    >   INIT_FCALL                                               'array_merge'
        27        SEND_UNPACK                                              !3
        28        DO_ICALL                                         $18     
        29        ASSIGN                                                   !3, $18
  15    30    >   INIT_FCALL                                               'var_export'
        31        SEND_VAR                                                 !3
        32        DO_ICALL                                                 
  16    33        ECHO                                                     '%0A'
   9    34      > JMP                                                      ->4
        35    >   FE_FREE                                                  $7
  17    36      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
15.43 ms | 467 KiB | 7 Q