3v4l.org

run code in 300+ PHP versions simultaneously
<?php $o = ""; $escape_char = $allowed_chars = array_fill_keys(range(0x32,0x255), "a"); $string = "hzgtfrzutrdetzttedcuztivcretfuzrtzt"; for ($i = 0; $i < strlen($string); $i++) { $ch = $string[$i]; if (isset($allowed_chars[ord($ch)])) { $o.=$allowed_chars[ord($ch)]; } else if (ord($ch) == 27) { $i++; $ch = $string[$i]; if (isset($escape_char[ord($ch)])) { $o.=$escape_char[ord($ch)]; } } } echo $o;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 46
Branch analysis from position: 46
2 jumps found. (Code = 44) Position 1 = 49, Position 2 = 14
Branch analysis from position: 49
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 27
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 49, Position 2 = 14
Branch analysis from position: 49
Branch analysis from position: 14
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 45
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 45
Branch analysis from position: 40
2 jumps found. (Code = 44) Position 1 = 49, Position 2 = 14
Branch analysis from position: 49
Branch analysis from position: 14
Branch analysis from position: 45
Branch analysis from position: 45
filename:       /in/pP98s
function name:  (null)
number of ops:  51
compiled vars:  !0 = $o, !1 = $escape_char, !2 = $allowed_chars, !3 = $string, !4 = $i, !5 = $ch
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, ''
    4     1        INIT_FCALL                                               'array_fill_keys'
          2        INIT_FCALL                                               'range'
          3        SEND_VAL                                                 50
          4        SEND_VAL                                                 597
          5        DO_ICALL                                         $7      
          6        SEND_VAR                                                 $7
          7        SEND_VAL                                                 'a'
          8        DO_ICALL                                         $8      
          9        ASSIGN                                           ~9      !2, $8
         10        ASSIGN                                                   !1, ~9
    5    11        ASSIGN                                                   !3, 'hzgtfrzutrdetzttedcuztivcretfuzrtzt'
    6    12        ASSIGN                                                   !4, 0
         13      > JMP                                                      ->46
    7    14    >   FETCH_DIM_R                                      ~13     !3, !4
         15        ASSIGN                                                   !5, ~13
    9    16        INIT_FCALL                                               'ord'
         17        SEND_VAR                                                 !5
         18        DO_ICALL                                         $15     
         19        ISSET_ISEMPTY_DIM_OBJ                         0          !2, $15
         20      > JMPZ                                                     ~16, ->27
   10    21    >   INIT_FCALL                                               'ord'
         22        SEND_VAR                                                 !5
         23        DO_ICALL                                         $17     
         24        FETCH_DIM_R                                      ~18     !2, $17
         25        ASSIGN_OP                                     8          !0, ~18
         26      > JMP                                                      ->45
   11    27    >   INIT_FCALL                                               'ord'
         28        SEND_VAR                                                 !5
         29        DO_ICALL                                         $20     
         30        IS_EQUAL                                                 $20, 27
         31      > JMPZ                                                     ~21, ->45
   12    32    >   PRE_INC                                                  !4
   13    33        FETCH_DIM_R                                      ~23     !3, !4
         34        ASSIGN                                                   !5, ~23
   14    35        INIT_FCALL                                               'ord'
         36        SEND_VAR                                                 !5
         37        DO_ICALL                                         $25     
         38        ISSET_ISEMPTY_DIM_OBJ                         0          !1, $25
         39      > JMPZ                                                     ~26, ->45
   15    40    >   INIT_FCALL                                               'ord'
         41        SEND_VAR                                                 !5
         42        DO_ICALL                                         $27     
         43        FETCH_DIM_R                                      ~28     !1, $27
         44        ASSIGN_OP                                     8          !0, ~28
    6    45    >   PRE_INC                                                  !4
         46    >   STRLEN                                           ~31     !3
         47        IS_SMALLER                                               !4, ~31
         48      > JMPNZ                                                    ~32, ->14
   19    49    >   ECHO                                                     !0
         50      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
164.67 ms | 1395 KiB | 20 Q