3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = json_encode('wrong json'); if ('50500' <= PHP_VERSION_ID) { var_dump(json_last_error_msg()); } switch (json_last_error()) { case JSON_ERROR_DEPTH: $error = 'Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: $error = 'Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: $error = 'Unexpected control character found'; break; case JSON_ERROR_SYNTAX: $error = 'Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: $error = 'Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: $error = 'Unknown error'; break; } var_dump($error);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 10
Branch analysis from position: 5
7 jumps found. (Code = 187) Position 1 = 24, Position 2 = 26, Position 3 = 28, Position 4 = 30, Position 5 = 32, Position 6 = 34, Position 7 = 13
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 30
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 15, Position 2 = 24
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 26
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 28
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 30
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 32
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
Branch analysis from position: 32
Branch analysis from position: 30
Branch analysis from position: 28
Branch analysis from position: 26
Branch analysis from position: 24
Branch analysis from position: 10
filename:       /in/vDss3
function name:  (null)
number of ops:  41
compiled vars:  !0 = $a, !1 = $error
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'json_encode'
          1        SEND_VAL                                                 'wrong+json'
          2        DO_ICALL                                         $2      
          3        ASSIGN                                                   !0, $2
    5     4      > JMPZ                                                     <true>, ->10
    6     5    >   INIT_FCALL                                               'var_dump'
          6        INIT_FCALL                                               'json_last_error_msg'
          7        DO_ICALL                                         $4      
          8        SEND_VAR                                                 $4
          9        DO_ICALL                                                 
    9    10    >   INIT_FCALL                                               'json_last_error'
         11        DO_ICALL                                         $6      
         12      > SWITCH_LONG                                              $6, [ 1:->24, 2:->26, 3:->28, 4:->30, 5:->32, ], ->34
         13    >   CASE                                                     $6, 1
         14      > JMPNZ                                                    ~7, ->24
         15    >   CASE                                                     $6, 2
         16      > JMPNZ                                                    ~7, ->26
         17    >   CASE                                                     $6, 3
         18      > JMPNZ                                                    ~7, ->28
         19    >   CASE                                                     $6, 4
         20      > JMPNZ                                                    ~7, ->30
         21    >   CASE                                                     $6, 5
         22      > JMPNZ                                                    ~7, ->32
         23    > > JMP                                                      ->34
   11    24    >   ASSIGN                                                   !1, 'Maximum+stack+depth+exceeded'
   12    25      > JMP                                                      ->36
   14    26    >   ASSIGN                                                   !1, 'Underflow+or+the+modes+mismatch'
   15    27      > JMP                                                      ->36
   17    28    >   ASSIGN                                                   !1, 'Unexpected+control+character+found'
   18    29      > JMP                                                      ->36
   20    30    >   ASSIGN                                                   !1, 'Syntax+error%2C+malformed+JSON'
   21    31      > JMP                                                      ->36
   23    32    >   ASSIGN                                                   !1, 'Malformed+UTF-8+characters%2C+possibly+incorrectly+encoded'
   24    33      > JMP                                                      ->36
   26    34    >   ASSIGN                                                   !1, 'Unknown+error'
   27    35      > JMP                                                      ->36
         36    >   FREE                                                     $6
   30    37        INIT_FCALL                                               'var_dump'
         38        SEND_VAR                                                 !1
         39        DO_ICALL                                                 
         40      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
175.07 ms | 1400 KiB | 21 Q