3v4l.org

run code in 300+ PHP versions simultaneously
<?php $map = <<<MAP 0 => 129367 1 => 998023 2 => 971513 3 => 365366 4 => 247647 5 => 131747 6 => 86151 7 => 898342 8 => 591121 9 => 828966 a => 185363 b => 420016 c => 472728 d => 185475 e => 669058 f => 472944 g => 932915 h => 109171 i => 940561 j => 483250 k => 240419 l => 158223 m => 494635 n => 205943 o => 19961 p => 989725 q => 125777 r => 195604 s => 818227 t => 83779 u => 990539 v => 639213 w => 669743 x => 546240 y => 950155 z => 631005 A => 126161 B => 403898 C => 323151 D => 536228 E => 653494 F => 810236 G => 808261 H => 900915 I => 60916 J => 417663 K => 371534 L => 384244 M => 900004 N => 300998 O => 346538 P => 5044 Q => 558707 R => 404479 S => 183163 T => 505254 U => 497969 V => 197795 W => 953877 X => 394637 Y => 760236 Z => 211436 ! => 601326 " => 15745 # => 428427 $ => 602548 % => 938126 & => 159405 ' => 528113 ( => 8021 ) => 910309 * => 747795 + => 232242 , => 731593 - => 808534 . => 429705 / => 916854 : => 241543 ; => 755104 < => 314595 = => 398161 > => 606925 ? => 804662 @ => 713498 [ => 431477 \ => 80381 ] => 36645 ^ => 156790 _ => 34787 ` => 107682 { => 283663 | => 650856 } => 91921 ~ => 752056 => 494223 => 521932 => 816279 => 301703 => 17163 => 867641 ą => 817209 ś => 594615 ż => 570356 ź => 913303 ł => 752084 ó => 838178 ę => 693877 ń => 564418 ć => 30975 Ż => 707466 MAP; $encrypted = '631005,323151,810236,60916,384244,346538,404479'; echo preg_replace_callback( '/(\d+)(,)?/', fn($m) => preg_match( '/^(?:\R|.+)(?= => ' . $m[1] . '$)/um', $map, $found ) ? $found[0] . (isset($m[2]) ? ' ' : '') : $m[0], $encrypted );
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/TV4EU
function name:  (null)
number of ops:  12
compiled vars:  !0 = $map, !1 = $encrypted, !2 = $found
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '0+%3D%3E+129367%0A1+%3D%3E+998023%0A2+%3D%3E+971513%0A3+%3D%3E+365366%0A4+%3D%3E+247647%0A5+%3D%3E+131747%0A6+%3D%3E+86151%0A7+%3D%3E+898342%0A8+%3D%3E+591121%0A9+%3D%3E+828966%0Aa+%3D%3E+185363%0Ab+%3D%3E+420016%0Ac+%3D%3E+472728%0Ad+%3D%3E+185475%0Ae+%3D%3E+669058%0Af+%3D%3E+472944%0Ag+%3D%3E+932915%0Ah+%3D%3E+109171%0Ai+%3D%3E+940561%0Aj+%3D%3E+483250%0Ak+%3D%3E+240419%0Al+%3D%3E+158223%0Am+%3D%3E+494635%0An+%3D%3E+205943%0Ao+%3D%3E+19961%0Ap+%3D%3E+989725%0Aq+%3D%3E+125777%0Ar+%3D%3E+195604%0As+%3D%3E+818227%0At+%3D%3E+83779%0Au+%3D%3E+990539%0Av+%3D%3E+639213%0Aw+%3D%3E+669743%0Ax+%3D%3E+546240%0Ay+%3D%3E+950155%0Az+%3D%3E+631005%0AA+%3D%3E+126161%0AB+%3D%3E+403898%0AC+%3D%3E+323151%0AD+%3D%3E+536228%0AE+%3D%3E+653494%0AF+%3D%3E+810236%0AG+%3D%3E+808261%0AH+%3D%3E+900915%0AI+%3D%3E+60916%0AJ+%3D%3E+417663%0AK+%3D%3E+371534%0AL+%3D%3E+384244%0AM+%3D%3E+900004%0AN+%3D%3E+300998%0AO+%3D%3E+346538%0AP+%3D%3E+5044%0AQ+%3D%3E+558707%0AR+%3D%3E+404479%0AS+%3D%3E+183163%0AT+%3D%3E+505254%0AU+%3D%3E+497969%0AV+%3D%3E+197795%0AW+%3D%3E+953877%0AX+%3D%3E+394637%0AY+%3D%3E+760236%0AZ+%3D%3E+211436%0A%21+%3D%3E+601326%0A%22+%3D%3E+15745%0A%23+%3D%3E+428427%0A%24+%3D%3E+602548%0A%25+%3D%3E+938126%0A%26+%3D%3E+159405%0A%27+%3D%3E+528113%0A%28+%3D%3E+8021%0A%29+%3D%3E+910309%0A%2A+%3D%3E+747795%0A%2B+%3D%3E+232242%0A%2C+%3D%3E+731593%0A-+%3D%3E+808534%0A.+%3D%3E+429705%0A%2F+%3D%3E+916854%0A%3A+%3D%3E+241543%0A%3B+%3D%3E+755104%0A%3C+%3D%3E+314595%0A%3D+%3D%3E+398161%0A%3E+%3D%3E+606925%0A%3F+%3D%3E+804662%0A%40+%3D%3E+713498%0A%5B+%3D%3E+431477%0A%5C+%3D%3E+80381%0A%5D+%3D%3E+36645%0A%5E+%3D%3E+156790%0A_+%3D%3E+34787%0A%60+%3D%3E+107682%0A%7B+%3D%3E+283663%0A%7C+%3D%3E+650856%0A%7D+%3D%3E+91921%0A%7E+%3D%3E+752056%0A++%3D%3E+494223%0A+++++%3D%3E+521932%0A%0A+%3D%3E+816279%0A+%3D%3E+301703%0A+%3D%3E+17163%0A+%3D%3E+867641%0A%C4%85+%3D%3E+817209%0A%C5%9B+%3D%3E+594615%0A%C5%BC+%3D%3E+570356%0A%C5%BA+%3D%3E+913303%0A%C5%82+%3D%3E+752084%0A%C3%B3+%3D%3E+838178%0A%C4%99+%3D%3E+693877%0A%C5%84+%3D%3E+564418%0A%C4%87+%3D%3E+30975%0A%C5%BB+%3D%3E+707466'
  117     1        ASSIGN                                                   !1, '631005%2C323151%2C810236%2C60916%2C384244%2C346538%2C404479'
  119     2        INIT_FCALL                                               'preg_replace_callback'
  120     3        SEND_VAL                                                 '%2F%28%5Cd%2B%29%28%2C%29%3F%2F'
  121     4        DECLARE_LAMBDA_FUNCTION                          ~5      [0]
          5        BIND_LEXICAL                                             ~5, !0
          6        BIND_LEXICAL                                             ~5, !2
  127     7        SEND_VAL                                                 ~5
  128     8        SEND_VAR                                                 !1
  119     9        DO_ICALL                                         $6      
  128    10        ECHO                                                     $6
  129    11      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 21
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 17
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/TV4EU
function name:  {closure}
number of ops:  25
compiled vars:  !0 = $m, !1 = $map, !2 = $found
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  121     0  E >   RECV                                             !0      
          1        BIND_STATIC                                              !1
          2        BIND_STATIC                                              !2
          3        INIT_FCALL                                               'preg_match'
  122     4        FETCH_DIM_R                                      ~3      !0, 1
          5        CONCAT                                           ~4      '%2F%5E%28%3F%3A%5CR%7C.%2B%29%28%3F%3D+%3D%3E+', ~3
          6        CONCAT                                           ~5      ~4, '%24%29%2Fum'
          7        SEND_VAL                                                 ~5
  123     8        SEND_VAR                                                 !1
  124     9        SEND_REF                                                 !2
  121    10        DO_ICALL                                         $6      
  124    11      > JMPZ                                                     $6, ->21
  126    12    >   FETCH_DIM_R                                      ~7      !2, 0
         13        ISSET_ISEMPTY_DIM_OBJ                         0          !0, 2
         14      > JMPZ                                                     ~8, ->17
         15    >   QM_ASSIGN                                        ~9      '+'
         16      > JMP                                                      ->18
         17    >   QM_ASSIGN                                        ~9      ''
         18    >   CONCAT                                           ~10     ~7, ~9
         19        QM_ASSIGN                                        ~11     ~10
         20      > JMP                                                      ->23
  127    21    >   FETCH_DIM_R                                      ~12     !0, 0
         22        QM_ASSIGN                                        ~11     ~12
         23    > > RETURN                                                   ~11
         24*     > RETURN                                                   null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
146.57 ms | 1008 KiB | 15 Q