3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo "'string'\n"; $r = json_decode("'string'"); var_dump($r, json_last_error(), json_last_error_msg()); echo "\"string\"\n"; $r = json_decode("\"string\""); var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "100\n"; $r = json_decode("100"); // int var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "1.\n"; $r = json_decode("1."); // float var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "1.0\n"; $r = json_decode("1.0"); // float var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo ".5\n"; $r = json_decode(".5"); // float var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "true\n"; $r = json_decode("true"); // bool var_dump($r, json_last_error(), json_last_error_msg());
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Y8C9h
function name:  (null)
number of ops:  104
compiled vars:  !0 = $r
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ECHO                                                     '%27string%27%0A'
    4     1        INIT_FCALL                                               'json_decode'
          2        SEND_VAL                                                 '%27string%27'
          3        DO_ICALL                                         $1      
          4        ASSIGN                                                   !0, $1
    5     5        INIT_FCALL                                               'var_dump'
          6        SEND_VAR                                                 !0
          7        INIT_FCALL                                               'json_last_error'
          8        DO_ICALL                                         $3      
          9        SEND_VAR                                                 $3
         10        INIT_FCALL                                               'json_last_error_msg'
         11        DO_ICALL                                         $4      
         12        SEND_VAR                                                 $4
         13        DO_ICALL                                                 
    7    14        ECHO                                                     '%22string%22%0A'
    8    15        INIT_FCALL                                               'json_decode'
         16        SEND_VAL                                                 '%22string%22'
         17        DO_ICALL                                         $6      
         18        ASSIGN                                                   !0, $6
    9    19        INIT_FCALL                                               'var_dump'
         20        SEND_VAR                                                 !0
         21        INIT_FCALL                                               'json_last_error'
         22        DO_ICALL                                         $8      
         23        SEND_VAR                                                 $8
         24        INIT_FCALL                                               'json_last_error_msg'
         25        DO_ICALL                                         $9      
         26        SEND_VAR                                                 $9
         27        DO_ICALL                                                 
   11    28        ECHO                                                     '%0A'
   13    29        ECHO                                                     '100%0A'
   14    30        INIT_FCALL                                               'json_decode'
         31        SEND_VAL                                                 '100'
         32        DO_ICALL                                         $11     
         33        ASSIGN                                                   !0, $11
   15    34        INIT_FCALL                                               'var_dump'
         35        SEND_VAR                                                 !0
         36        INIT_FCALL                                               'json_last_error'
         37        DO_ICALL                                         $13     
         38        SEND_VAR                                                 $13
         39        INIT_FCALL                                               'json_last_error_msg'
         40        DO_ICALL                                         $14     
         41        SEND_VAR                                                 $14
         42        DO_ICALL                                                 
   17    43        ECHO                                                     '%0A'
   19    44        ECHO                                                     '1.%0A'
   20    45        INIT_FCALL                                               'json_decode'
         46        SEND_VAL                                                 '1.'
         47        DO_ICALL                                         $16     
         48        ASSIGN                                                   !0, $16
   21    49        INIT_FCALL                                               'var_dump'
         50        SEND_VAR                                                 !0
         51        INIT_FCALL                                               'json_last_error'
         52        DO_ICALL                                         $18     
         53        SEND_VAR                                                 $18
         54        INIT_FCALL                                               'json_last_error_msg'
         55        DO_ICALL                                         $19     
         56        SEND_VAR                                                 $19
         57        DO_ICALL                                                 
   23    58        ECHO                                                     '%0A'
   25    59        ECHO                                                     '1.0%0A'
   26    60        INIT_FCALL                                               'json_decode'
         61        SEND_VAL                                                 '1.0'
         62        DO_ICALL                                         $21     
         63        ASSIGN                                                   !0, $21
   27    64        INIT_FCALL                                               'var_dump'
         65        SEND_VAR                                                 !0
         66        INIT_FCALL                                               'json_last_error'
         67        DO_ICALL                                         $23     
         68        SEND_VAR                                                 $23
         69        INIT_FCALL                                               'json_last_error_msg'
         70        DO_ICALL                                         $24     
         71        SEND_VAR                                                 $24
         72        DO_ICALL                                                 
   29    73        ECHO                                                     '%0A'
   31    74        ECHO                                                     '.5%0A'
   32    75        INIT_FCALL                                               'json_decode'
         76        SEND_VAL                                                 '.5'
         77        DO_ICALL                                         $26     
         78        ASSIGN                                                   !0, $26
   33    79        INIT_FCALL                                               'var_dump'
         80        SEND_VAR                                                 !0
         81        INIT_FCALL                                               'json_last_error'
         82        DO_ICALL                                         $28     
         83        SEND_VAR                                                 $28
         84        INIT_FCALL                                               'json_last_error_msg'
         85        DO_ICALL                                         $29     
         86        SEND_VAR                                                 $29
         87        DO_ICALL                                                 
   35    88        ECHO                                                     '%0A'
   37    89        ECHO                                                     'true%0A'
   38    90        INIT_FCALL                                               'json_decode'
         91        SEND_VAL                                                 'true'
         92        DO_ICALL                                         $31     
         93        ASSIGN                                                   !0, $31
   39    94        INIT_FCALL                                               'var_dump'
         95        SEND_VAR                                                 !0
         96        INIT_FCALL                                               'json_last_error'
         97        DO_ICALL                                         $33     
         98        SEND_VAR                                                 $33
         99        INIT_FCALL                                               'json_last_error_msg'
        100        DO_ICALL                                         $34     
        101        SEND_VAR                                                 $34
        102        DO_ICALL                                                 
        103      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.83 ms | 1404 KiB | 21 Q