3v4l.org

run code in 300+ PHP versions simultaneously
<?php $s = '3.14'; $i = 1; $numberRegex = '/-?(?:0|[1-9][0-9]*+)(?:\.[0-9]*+)?(?:[Ee][+-]?[0-9]+)?/A'; if ( preg_match( $numberRegex, $s, $matches, 0, --$i ) ) { $i += strlen( $matches[0] ); return array( 's', $this->decodeNumber( $matches[0] ) ); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 24
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/X0GSR
function name:  (null)
number of ops:  25
compiled vars:  !0 = $s, !1 = $i, !2 = $numberRegex, !3 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '3.14'
    4     1        ASSIGN                                                   !1, 1
    6     2        ASSIGN                                                   !2, '%2F-%3F%28%3F%3A0%7C%5B1-9%5D%5B0-9%5D%2A%2B%29%28%3F%3A%5C.%5B0-9%5D%2A%2B%29%3F%28%3F%3A%5BEe%5D%5B%2B-%5D%3F%5B0-9%5D%2B%29%3F%2FA'
    7     3        INIT_FCALL                                               'preg_match'
          4        SEND_VAR                                                 !2
          5        SEND_VAR                                                 !0
          6        SEND_REF                                                 !3
          7        SEND_VAL                                                 0
          8        PRE_DEC                                          ~7      !1
          9        SEND_VAL                                                 ~7
         10        DO_ICALL                                         $8      
         11      > JMPZ                                                     $8, ->24
    8    12    >   FETCH_DIM_R                                      ~9      !3, 0
         13        STRLEN                                           ~10     ~9
         14        ASSIGN_OP                                     1          !1, ~10
    9    15        INIT_ARRAY                                       ~12     's'
         16        FETCH_THIS                                       $13     
         17        INIT_METHOD_CALL                                         $13, 'decodeNumber'
         18        CHECK_FUNC_ARG                                           
         19        FETCH_DIM_FUNC_ARG                               $14     !3, 0
         20        SEND_FUNC_ARG                                            $14
         21        DO_FCALL                                      0  $15     
         22        ADD_ARRAY_ELEMENT                                ~12     $15
         23      > RETURN                                                   ~12
   10    24    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.03 ms | 1387 KiB | 15 Q