3v4l.org

run code in 300+ PHP versions simultaneously
<?php function significant_number($string){ $offset=9; $string=substr($string, $offset); $count=strlen($string); $i=0; while($i < $count){ if(ctype_digit($string[$i])) { break; } $i++; } return $string[$i]; } $udid="086786dc4ae78dbf6a6a9b621b5ae4"; $md5udid=md5sum($udid); $sigNo=significant_number($udid); $testudid=substr($md5udid, 4, sigNo).substr($udid, sigNo, 6); echo $testudid; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dEG2L
function name:  (null)
number of ops:  25
compiled vars:  !0 = $udid, !1 = $md5udid, !2 = $sigNo, !3 = $testudid
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   17     0  E >   ASSIGN                                                   !0, '086786dc4ae78dbf6a6a9b621b5ae4'
   18     1        INIT_FCALL_BY_NAME                                       'md5sum'
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0  $5      
          4        ASSIGN                                                   !1, $5
   19     5        INIT_FCALL                                               'significant_number'
          6        SEND_VAR                                                 !0
          7        DO_FCALL                                      0  $7      
          8        ASSIGN                                                   !2, $7
   21     9        INIT_FCALL                                               'substr'
         10        SEND_VAR                                                 !1
         11        SEND_VAL                                                 4
         12        FETCH_CONSTANT                                   ~9      'sigNo'
         13        SEND_VAL                                                 ~9
         14        DO_ICALL                                         $10     
         15        INIT_FCALL                                               'substr'
         16        SEND_VAR                                                 !0
         17        FETCH_CONSTANT                                   ~11     'sigNo'
         18        SEND_VAL                                                 ~11
         19        SEND_VAL                                                 6
         20        DO_ICALL                                         $12     
         21        CONCAT                                           ~13     $10, $12
         22        ASSIGN                                                   !3, ~13
   23    23        ECHO                                                     !3
   24    24      > RETURN                                                   1

Function significant_number:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 11
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 17
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 11
Branch analysis from position: 20
Branch analysis from position: 11
filename:       /in/dEG2L
function name:  significant_number
number of ops:  23
compiled vars:  !0 = $string, !1 = $offset, !2 = $count, !3 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    3     1        ASSIGN                                                   !1, 9
    4     2        INIT_FCALL                                               'substr'
          3        SEND_VAR                                                 !0
          4        SEND_VAR                                                 !1
          5        DO_ICALL                                         $5      
          6        ASSIGN                                                   !0, $5
    5     7        STRLEN                                           ~7      !0
          8        ASSIGN                                                   !2, ~7
    6     9        ASSIGN                                                   !3, 0
    7    10      > JMP                                                      ->18
    8    11    >   INIT_FCALL                                               'ctype_digit'
         12        FETCH_DIM_R                                      ~10     !0, !3
         13        SEND_VAL                                                 ~10
         14        DO_ICALL                                         $11     
         15      > JMPZ                                                     $11, ->17
    9    16    > > JMP                                                      ->20
   11    17    >   PRE_INC                                                  !3
    7    18    >   IS_SMALLER                                               !3, !2
         19      > JMPNZ                                                    ~13, ->11
   14    20    >   FETCH_DIM_R                                      ~14     !0, !3
         21      > RETURN                                                   ~14
   15    22*     > RETURN                                                   null

End of function significant_number

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
149.93 ms | 1403 KiB | 18 Q