3v4l.org

run code in 500+ PHP versions simultaneously
<?php $path = "A000AA00"; $startA = microtime(true); for($i = 0; $i < 100000; $i++) { if (strlen($path) !== 8) { die('Bad string length'); } if (ctype_alpha($path[0]) && ctype_digit($path[1]) && ctype_digit($path[2]) && ctype_digit($path[3]) && ctype_alpha($path[4]) && ctype_alpha($path[5]) && ctype_digit($path[6]) && ctype_digit($path[7])) { // We good } } $endA = microtime(true); echo $endA-$startA;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 61
Branch analysis from position: 61
2 jumps found. (Code = 44) Position 1 = 63, Position 2 = 7
Branch analysis from position: 63
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 13
Branch analysis from position: 10
1 jumps found. (Code = 61) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 46) Position 1 = 18, Position 2 = 23
Branch analysis from position: 18
2 jumps found. (Code = 46) Position 1 = 24, Position 2 = 29
Branch analysis from position: 24
2 jumps found. (Code = 46) Position 1 = 30, Position 2 = 35
Branch analysis from position: 30
2 jumps found. (Code = 46) Position 1 = 36, Position 2 = 41
Branch analysis from position: 36
2 jumps found. (Code = 46) Position 1 = 42, Position 2 = 47
Branch analysis from position: 42
2 jumps found. (Code = 46) Position 1 = 48, Position 2 = 53
Branch analysis from position: 48
2 jumps found. (Code = 46) Position 1 = 54, Position 2 = 59
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 60
Branch analysis from position: 60
2 jumps found. (Code = 44) Position 1 = 63, Position 2 = 7
Branch analysis from position: 63
Branch analysis from position: 7
Branch analysis from position: 60
Branch analysis from position: 59
Branch analysis from position: 53
Branch analysis from position: 47
Branch analysis from position: 41
Branch analysis from position: 35
Branch analysis from position: 29
Branch analysis from position: 23
filename:       /in/NXbdP
function name:  (null)
number of ops:  70
compiled vars:  !0 = $path, !1 = $startA, !2 = $i, !3 = $endA
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 'A000AA00'
    4     1        INIT_FCALL                                                   'microtime'
          2        SEND_VAL                                                     <true>
          3        DO_ICALL                                             $5      
          4        ASSIGN                                                       !1, $5
    5     5        ASSIGN                                                       !2, 0
          6      > JMP                                                          ->61
    7     7    >   STRLEN                                               ~8      !0
          8        IS_NOT_IDENTICAL                                             ~8, 8
          9      > JMPZ                                                         ~9, ->13
         10    > > INIT_FCALL                                                   'exit'
         11*       SEND_VAL                                                     'Bad+string+length'
         12*       DO_ICALL                                                     
    8    13    >   INIT_FCALL                                                   'ctype_alpha'
         14        FETCH_DIM_R                                          ~11     !0, 0
         15        SEND_VAL                                                     ~11
         16        DO_ICALL                                             $12     
         17      > JMPZ_EX                                              ~13     $12, ->23
         18    >   INIT_FCALL                                                   'ctype_digit'
         19        FETCH_DIM_R                                          ~14     !0, 1
         20        SEND_VAL                                                     ~14
         21        DO_ICALL                                             $15     
         22        BOOL                                                 ~13     $15
         23    > > JMPZ_EX                                              ~13     ~13, ->29
         24    >   INIT_FCALL                                                   'ctype_digit'
         25        FETCH_DIM_R                                          ~16     !0, 2
         26        SEND_VAL                                                     ~16
         27        DO_ICALL                                             $17     
         28        BOOL                                                 ~13     $17
         29    > > JMPZ_EX                                              ~13     ~13, ->35
         30    >   INIT_FCALL                                                   'ctype_digit'
         31        FETCH_DIM_R                                          ~18     !0, 3
         32        SEND_VAL                                                     ~18
         33        DO_ICALL                                             $19     
         34        BOOL                                                 ~13     $19
         35    > > JMPZ_EX                                              ~13     ~13, ->41
         36    >   INIT_FCALL                                                   'ctype_alpha'
         37        FETCH_DIM_R                                          ~20     !0, 4
         38        SEND_VAL                                                     ~20
         39        DO_ICALL                                             $21     
         40        BOOL                                                 ~13     $21
         41    > > JMPZ_EX                                              ~13     ~13, ->47
         42    >   INIT_FCALL                                                   'ctype_alpha'
         43        FETCH_DIM_R                                          ~22     !0, 5
         44        SEND_VAL                                                     ~22
         45        DO_ICALL                                             $23     
         46        BOOL                                                 ~13     $23
         47    > > JMPZ_EX                                              ~13     ~13, ->53
         48    >   INIT_FCALL                                                   'ctype_digit'
         49        FETCH_DIM_R                                          ~24     !0, 6
         50        SEND_VAL                                                     ~24
         51        DO_ICALL                                             $25     
         52        BOOL                                                 ~13     $25
         53    > > JMPZ_EX                                              ~13     ~13, ->59
         54    >   INIT_FCALL                                                   'ctype_digit'
         55        FETCH_DIM_R                                          ~26     !0, 7
         56        SEND_VAL                                                     ~26
         57        DO_ICALL                                             $27     
         58        BOOL                                                 ~13     $27
         59    > > JMPZ                                                         ~13, ->60
    5    60    >   PRE_INC                                                      !2
         61    >   IS_SMALLER                                                   !2, 100000
         62      > JMPNZ                                                        ~29, ->7
   11    63    >   INIT_FCALL                                                   'microtime'
         64        SEND_VAL                                                     <true>
         65        DO_ICALL                                             $30     
         66        ASSIGN                                                       !3, $30
   12    67        SUB                                                  ~32     !3, !1
         68        ECHO                                                         ~32
   13    69      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
177.14 ms | 1304 KiB | 17 Q