3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = 'Öé'; $chars = []; // Assume ISO-8859-1 if not UTF-8 $chars['in'] = chr(128) . chr(131) . chr(138) . chr(142) . chr(154) . chr(158) . chr(159) . chr(162) . chr(165) . chr(181) . chr(192) . chr(193) . chr(194) . chr(195) . chr(196) . chr(197) . chr(199) . chr(200) . chr(201) . chr(202) . chr(203) . chr(204) . chr(205) . chr(206) . chr(207) . chr(209) . chr(210) . chr(211) . chr(212) . chr(213) . chr(214) . chr(216) . chr(217) . chr(218) . chr(219) . chr(220) . chr(221) . chr(224) . chr(225) . chr(226) . chr(227) . chr(228) . chr(229) . chr(231) . chr(232) . chr(233) . chr(234) . chr(235) . chr(236) . chr(237) . chr(238) . chr(239) . chr(241) . chr(242) . chr(243) . chr(244) . chr(245) . chr(246) . chr(248) . chr(249) . chr(250) . chr(251) . chr(252) . chr(253) . chr(255); $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy"; $string = strtr($string, $chars['in'], $chars['out']); $double_chars = []; $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)); $double_chars['out'] = ['OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th']; $string = str_replace($double_chars['in'], $double_chars['out'], $string); var_dump($string);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/IoUYP
function name:  (null)
number of ops:  40
compiled vars:  !0 = $string, !1 = $chars, !2 = $double_chars
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%C3%96%C3%A9'
    5     1        ASSIGN                                                   !1, <array>
    7     2        ASSIGN_DIM                                               !1, 'in'
   16     3        OP_DATA                                                  '%80%83%8A%8E%9A%9E%9F%A2%A5%B5%C0%C1%C2%C3%C4%C5%C7%C8%C9%CA%CB%CC%CD%CE%CF%D1%D2%D3%D4%D5%D6%D8%D9%DA%DB%DC%DD%E0%E1%E2%E3%E4%E5%E7%E8%E9%EA%EB%EC%ED%EE%EF%F1%F2%F3%F4%F5%F6%F8%F9%FA%FB%FC%FD%FF'
   18     4        ASSIGN_DIM                                               !1, 'out'
          5        OP_DATA                                                  'EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy'
   20     6        INIT_FCALL                                               'strtr'
          7        SEND_VAR                                                 !0
          8        FETCH_DIM_R                                      ~7      !1, 'in'
          9        SEND_VAL                                                 ~7
         10        FETCH_DIM_R                                      ~8      !1, 'out'
         11        SEND_VAL                                                 ~8
         12        DO_ICALL                                         $9      
         13        ASSIGN                                                   !0, $9
   21    14        ASSIGN                                                   !2, <array>
   22    15        INIT_ARRAY                                       ~13     '%8C'
         16        ADD_ARRAY_ELEMENT                                ~13     '%9C'
         17        ADD_ARRAY_ELEMENT                                ~13     '%C6'
         18        ADD_ARRAY_ELEMENT                                ~13     '%D0'
         19        ADD_ARRAY_ELEMENT                                ~13     '%DE'
         20        ADD_ARRAY_ELEMENT                                ~13     '%DF'
         21        ADD_ARRAY_ELEMENT                                ~13     '%E6'
         22        ADD_ARRAY_ELEMENT                                ~13     '%F0'
         23        ADD_ARRAY_ELEMENT                                ~13     '%FE'
         24        ASSIGN_DIM                                               !2, 'in'
         25        OP_DATA                                                  ~13
   23    26        ASSIGN_DIM                                               !2, 'out'
         27        OP_DATA                                                  <array>
   24    28        INIT_FCALL                                               'str_replace'
         29        FETCH_DIM_R                                      ~15     !2, 'in'
         30        SEND_VAL                                                 ~15
         31        FETCH_DIM_R                                      ~16     !2, 'out'
         32        SEND_VAL                                                 ~16
         33        SEND_VAR                                                 !0
         34        DO_ICALL                                         $17     
         35        ASSIGN                                                   !0, $17
   26    36        INIT_FCALL                                               'var_dump'
         37        SEND_VAR                                                 !0
         38        DO_ICALL                                                 
         39      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
171.97 ms | 1396 KiB | 19 Q