3v4l.org

run code in 300+ PHP versions simultaneously
<?php $decode_strings = array('506C6561736520646F6E277420626C616D65206D652E20436F64', '65207772697474656E2062656C6F77206973206E6F74206D696E', '652E497420776173207772697474656E20616761696E7374206D', '652E'); foreach($decode_strings as $decode_string) { $decode_string = str_split($decode_string, 2); if (array_walk($decode_string, function(&$item) { $item = '%' . $item; })) { $decode_string = join($decode_string); // 09-05-2013 terry: Removed because of slow performance //$decode_string = '%' . implode('%', $decode_string); $decode_string = urldecode($decode_string); echo $decode_string; } else { throw new Exception('This should not happen'); } }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 29
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 29
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 24
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 24
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 29
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 29
filename:       /in/lITWG
function name:  (null)
number of ops:  31
compiled vars:  !0 = $decode_strings, !1 = $decode_string
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
    7     1      > FE_RESET_R                                       $3      !0, ->29
          2    > > FE_FETCH_R                                               $3, !1, ->29
    9     3    >   INIT_FCALL                                               'str_split'
          4        SEND_VAR                                                 !1
          5        SEND_VAL                                                 2
          6        DO_ICALL                                         $4      
          7        ASSIGN                                                   !1, $4
   11     8        INIT_FCALL                                               'array_walk'
          9        SEND_REF                                                 !1
         10        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FlITWG%3A11%240'
         11        SEND_VAL                                                 ~6
         12        DO_ICALL                                         $7      
         13      > JMPZ                                                     $7, ->24
   13    14    >   INIT_FCALL                                               'join'
         15        SEND_VAR                                                 !1
         16        DO_ICALL                                         $8      
         17        ASSIGN                                                   !1, $8
   19    18        INIT_FCALL                                               'urldecode'
         19        SEND_VAR                                                 !1
         20        DO_ICALL                                         $10     
         21        ASSIGN                                                   !1, $10
   21    22        ECHO                                                     !1
         23      > JMP                                                      ->28
   27    24    >   NEW                                              $12     'Exception'
         25        SEND_VAL_EX                                              'This+should+not+happen'
         26        DO_FCALL                                      0          
         27      > THROW                                         0          $12
    7    28    > > JMP                                                      ->2
         29    >   FE_FREE                                                  $3
   31    30      > RETURN                                                   1

Function %00%7Bclosure%7D%2Fin%2FlITWG%3A11%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/lITWG
function name:  {closure}
number of ops:  4
compiled vars:  !0 = $item
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   11     0  E >   RECV                                             !0      
          1        CONCAT                                           ~1      '%25', !0
          2        ASSIGN                                                   !0, ~1
          3      > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FlITWG%3A11%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
151.88 ms | 1400 KiB | 21 Q