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
7 jumps found. (Code = 187) Position 1 = 18, Position 2 = 20, Position 3 = 22, Position 4 = 24, Position 5 = 26, Position 6 = 28, Position 7 = 7
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 9, Position 2 = 18
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 20
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 13, Position 2 = 22
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
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
Branch analysis from position: 26
Branch analysis from position: 24
Branch analysis from position: 22
Branch analysis from position: 20
Branch analysis from position: 18
filename:       /in/AJ2rp
function name:  (null)
number of ops:  35
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
    9     4        INIT_FCALL                                               'json_last_error'
          5        DO_ICALL                                         $4      
          6      > SWITCH_LONG                                              $4, [ 1:->18, 2:->20, 3:->22, 4:->24, 5:->26, ], ->28
          7    >   CASE                                                     $4, 1
          8      > JMPNZ                                                    ~5, ->18
          9    >   CASE                                                     $4, 2
         10      > JMPNZ                                                    ~5, ->20
         11    >   CASE                                                     $4, 3
         12      > JMPNZ                                                    ~5, ->22
         13    >   CASE                                                     $4, 4
         14      > JMPNZ                                                    ~5, ->24
         15    >   CASE                                                     $4, 5
         16      > JMPNZ                                                    ~5, ->26
         17    > > JMP                                                      ->28
   11    18    >   ASSIGN                                                   !1, 'Maximum+stack+depth+exceeded'
   12    19      > JMP                                                      ->30
   14    20    >   ASSIGN                                                   !1, 'Underflow+or+the+modes+mismatch'
   15    21      > JMP                                                      ->30
   17    22    >   ASSIGN                                                   !1, 'Unexpected+control+character+found'
   18    23      > JMP                                                      ->30
   20    24    >   ASSIGN                                                   !1, 'Syntax+error%2C+malformed+JSON'
   21    25      > JMP                                                      ->30
   23    26    >   ASSIGN                                                   !1, 'Malformed+UTF-8+characters%2C+possibly+incorrectly+encoded'
   24    27      > JMP                                                      ->30
   26    28    >   ASSIGN                                                   !1, 'Unknown+error'
   27    29      > JMP                                                      ->30
         30    >   FREE                                                     $4
   30    31        INIT_FCALL                                               'var_dump'
         32        SEND_VAR                                                 !1
         33        DO_ICALL                                                 
         34      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
164.75 ms | 1400 KiB | 19 Q