3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = 'goofe eas تان ک'.chr( bindec( '11111100' ) ).'ے عسکری ذرائع کے مطابق بدھ' .chr( bindec( '11011111' ) ); echo iconv_substr( $string , 6 , null , 'utf-8' )."\n"; echo iconv_substr( $string , 6 , 4 , 'utf-8' )."\n"; echo iconv_substr( $string , 6 , -4 )."\n"; echo iconv_substr( $string , -4 , null , 'utf-8' )."\n"; echo "After setting internal encoding\n"; iconv_set_encoding("internal_encoding", "UTF-8"); echo iconv_substr( $string , 6 )."\n"; echo iconv_substr( $string , 6 , 4 )."\n"; echo iconv_substr( $string , 6 , -4 )."\n"; echo iconv_substr( $string , -4 )."\n"; exit(0);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/aO3RF
function name:  (null)
number of ops:  80
compiled vars:  !0 = $string
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'chr'
          1        INIT_FCALL                                               'bindec'
          2        SEND_VAL                                                 '11111100'
          3        DO_ICALL                                         $1      
          4        SEND_VAR                                                 $1
          5        DO_ICALL                                         $2      
          6        CONCAT                                           ~3      'goofe+eas+%D8%AA%D8%A7%D9%86+%DA%A9', $2
          7        CONCAT                                           ~4      ~3, '%DB%92+%D8%B9%D8%B3%DA%A9%D8%B1%DB%8C+%D8%B0%D8%B1%D8%A7%D8%A6%D8%B9+%DA%A9%DB%92+%D9%85%D8%B7%D8%A7%D8%A8%D9%82+%D8%A8%D8%AF%DA%BE'
          8        INIT_FCALL                                               'chr'
          9        INIT_FCALL                                               'bindec'
         10        SEND_VAL                                                 '11011111'
         11        DO_ICALL                                         $5      
         12        SEND_VAR                                                 $5
         13        DO_ICALL                                         $6      
         14        CONCAT                                           ~7      ~4, $6
         15        ASSIGN                                                   !0, ~7
    5    16        INIT_FCALL_BY_NAME                                       'iconv_substr'
         17        SEND_VAR_EX                                              !0
         18        SEND_VAL_EX                                              6
         19        SEND_VAL_EX                                              null
         20        SEND_VAL_EX                                              'utf-8'
         21        DO_FCALL                                      0  $9      
         22        CONCAT                                           ~10     $9, '%0A'
         23        ECHO                                                     ~10
    7    24        INIT_FCALL_BY_NAME                                       'iconv_substr'
         25        SEND_VAR_EX                                              !0
         26        SEND_VAL_EX                                              6
         27        SEND_VAL_EX                                              4
         28        SEND_VAL_EX                                              'utf-8'
         29        DO_FCALL                                      0  $11     
         30        CONCAT                                           ~12     $11, '%0A'
         31        ECHO                                                     ~12
    9    32        INIT_FCALL_BY_NAME                                       'iconv_substr'
         33        SEND_VAR_EX                                              !0
         34        SEND_VAL_EX                                              6
         35        SEND_VAL_EX                                              -4
         36        DO_FCALL                                      0  $13     
         37        CONCAT                                           ~14     $13, '%0A'
         38        ECHO                                                     ~14
   11    39        INIT_FCALL_BY_NAME                                       'iconv_substr'
         40        SEND_VAR_EX                                              !0
         41        SEND_VAL_EX                                              -4
         42        SEND_VAL_EX                                              null
         43        SEND_VAL_EX                                              'utf-8'
         44        DO_FCALL                                      0  $15     
         45        CONCAT                                           ~16     $15, '%0A'
         46        ECHO                                                     ~16
   13    47        ECHO                                                     'After+setting+internal+encoding%0A'
   15    48        INIT_FCALL_BY_NAME                                       'iconv_set_encoding'
         49        SEND_VAL_EX                                              'internal_encoding'
         50        SEND_VAL_EX                                              'UTF-8'
         51        DO_FCALL                                      0          
   17    52        INIT_FCALL_BY_NAME                                       'iconv_substr'
         53        SEND_VAR_EX                                              !0
         54        SEND_VAL_EX                                              6
         55        DO_FCALL                                      0  $18     
         56        CONCAT                                           ~19     $18, '%0A'
         57        ECHO                                                     ~19
   19    58        INIT_FCALL_BY_NAME                                       'iconv_substr'
         59        SEND_VAR_EX                                              !0
         60        SEND_VAL_EX                                              6
         61        SEND_VAL_EX                                              4
         62        DO_FCALL                                      0  $20     
         63        CONCAT                                           ~21     $20, '%0A'
         64        ECHO                                                     ~21
   21    65        INIT_FCALL_BY_NAME                                       'iconv_substr'
         66        SEND_VAR_EX                                              !0
         67        SEND_VAL_EX                                              6
         68        SEND_VAL_EX                                              -4
         69        DO_FCALL                                      0  $22     
         70        CONCAT                                           ~23     $22, '%0A'
         71        ECHO                                                     ~23
   23    72        INIT_FCALL_BY_NAME                                       'iconv_substr'
         73        SEND_VAR_EX                                              !0
         74        SEND_VAL_EX                                              -4
         75        DO_FCALL                                      0  $24     
         76        CONCAT                                           ~25     $24, '%0A'
         77        ECHO                                                     ~25
   25    78      > EXIT                                                     0
         79*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.93 ms | 1400 KiB | 23 Q