3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); $text = "1А роза упала на лапу Азора"; /* $text = "Я иду с мечем судия";*/ $text = "abcdefg"; $text = str_replace(" ", "", $text); $text = mb_strtolower($text); for ($i = 0; $i < mb_strlen($text); $i++) { $symbol1 = mb_substr($text, $i, 1); echo "Symbol1: ".$symbol1."\n"; $symbol2 = mb_substr($text, -$i, 1, 'utf-8'); echo "Symbol2: ".$symbol2."\n"; if ($symbol1 <> $symbol2) { echo "Это не палиндром\n"; $fake = true; break; } } if ($fake <> true) { echo "Это палиндром\n"; }
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 = 51, Position 2 = 20
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 54
Branch analysis from position: 53
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 54
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 45
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 51, Position 2 = 20
Branch analysis from position: 51
Branch analysis from position: 20
filename:       /in/VaKAJ
function name:  (null)
number of ops:  55
compiled vars:  !0 = $text, !1 = $i, !2 = $symbol1, !3 = $symbol2, !4 = $fake
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 -1
          2        DO_ICALL                                                 
    4     3        INIT_FCALL                                               'mb_internal_encoding'
          4        SEND_VAL                                                 'utf-8'
          5        DO_ICALL                                                 
    6     6        ASSIGN                                                   !0, '1%D0%90+%D1%80%D0%BE%D0%B7%D0%B0+%D1%83%D0%BF%D0%B0%D0%BB%D0%B0+%D0%BD%D0%B0+%D0%BB%D0%B0%D0%BF%D1%83+%D0%90%D0%B7%D0%BE%D1%80%D0%B0'
    8     7        ASSIGN                                                   !0, 'abcdefg'
   10     8        INIT_FCALL                                               'str_replace'
          9        SEND_VAL                                                 '+'
         10        SEND_VAL                                                 ''
         11        SEND_VAR                                                 !0
         12        DO_ICALL                                         $9      
         13        ASSIGN                                                   !0, $9
   11    14        INIT_FCALL                                               'mb_strtolower'
         15        SEND_VAR                                                 !0
         16        DO_ICALL                                         $11     
         17        ASSIGN                                                   !0, $11
   13    18        ASSIGN                                                   !1, 0
         19      > JMP                                                      ->46
   14    20    >   INIT_FCALL                                               'mb_substr'
         21        SEND_VAR                                                 !0
         22        SEND_VAR                                                 !1
         23        SEND_VAL                                                 1
         24        DO_ICALL                                         $14     
         25        ASSIGN                                                   !2, $14
   15    26        CONCAT                                           ~16     'Symbol1%3A+', !2
         27        CONCAT                                           ~17     ~16, '%0A'
         28        ECHO                                                     ~17
   16    29        INIT_FCALL                                               'mb_substr'
         30        SEND_VAR                                                 !0
         31        MUL                                              ~18     !1, -1
         32        SEND_VAL                                                 ~18
         33        SEND_VAL                                                 1
         34        SEND_VAL                                                 'utf-8'
         35        DO_ICALL                                         $19     
         36        ASSIGN                                                   !3, $19
   17    37        CONCAT                                           ~21     'Symbol2%3A+', !3
         38        CONCAT                                           ~22     ~21, '%0A'
         39        ECHO                                                     ~22
   18    40        IS_NOT_EQUAL                                             !2, !3
         41      > JMPZ                                                     ~23, ->45
   19    42    >   ECHO                                                     '%D0%AD%D1%82%D0%BE+%D0%BD%D0%B5+%D0%BF%D0%B0%D0%BB%D0%B8%D0%BD%D0%B4%D1%80%D0%BE%D0%BC%0A'
   20    43        ASSIGN                                                   !4, <true>
   21    44      > JMP                                                      ->51
   13    45    >   PRE_INC                                                  !1
         46    >   INIT_FCALL                                               'mb_strlen'
         47        SEND_VAR                                                 !0
         48        DO_ICALL                                         $26     
         49        IS_SMALLER                                               !1, $26
         50      > JMPNZ                                                    ~27, ->20
   25    51    >   BOOL_NOT                                         ~28     !4
         52      > JMPZ                                                     ~28, ->54
   26    53    >   ECHO                                                     '%D0%AD%D1%82%D0%BE+%D0%BF%D0%B0%D0%BB%D0%B8%D0%BD%D0%B4%D1%80%D0%BE%D0%BC%0A'
   27    54    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.19 ms | 1016 KiB | 19 Q