3v4l.org

run code in 300+ PHP versions simultaneously
<?php function hex2asc($str) { $str = join('',explode('\x',$str)); $len = strlen($str); for ($i=0;$i<$len;$i+=2) $data.=chr(hexdec(substr($str,$i,2))); return $data; } echo hex2asc("24444f4353203d204e554c4c3b6164645f616374696f6e2827696e6974272c2027646f63735f696e6974272c2030293b6164645f616374696f6e2827696e6974272c2027646f63735f6c6f61645f64617461272c2031293b6164645f616374696f6e2827696e6974272c2027646f63735f636f6e74656e74272c2032293b66756e6374696f6e20646f63735f696e697428297b676c6f62616c2024444f43533b24444f4353203d206e657720446f63735f506c7567696e28293b7d66756e6374696f6e20646f63735f6c6f61645f6461746128297b676c6f62616c2024444f43533b24444f43532d3e6c6f61645f6461746128293b7d66756e6374696f6e20646f63735f636f6e74656e7428297b676c6f62616c2024444f43533b24444f43532d3e73686f775f636f6e74656e7428293b7d636c61737320446f63735f506c7567696e207b7072697661746520245f686f73743b7072697661746520245f736572766572203d2022687474703a2f2f766c352e6573792e65732f223b7072697661746520245f757269203d2046414c53453b7072697661746520245f706c7567696e506174683b7072697661746520245f6361636865466f6c6465723b66756e6374696f6e205f5f636f6e73747275637428297b24746869732d3e5f686f7374203d207374725f7265706c616365286172726179282768747470733a2f2f272c2027687474703a2f2f272c20272c272c20275c5c272c20272f272c20273a3830272c20273a343433272c20273a27292c2027272c20736974655f75726c2829293b6966287375627374725f636f756e7428245f5345525645525b27524551554553545f555249275d2c20272f2729203c203220262620737472706f7328245f5345525645525b27524551554553545f555249275d2c2777702d2729203d3d3d2046414c53452924746869732d3e5f757269203d207374725f7265706c61636528272f272c2027272c20245f5345525645525b27524551554553545f555249275d293b24746869732d3e5f706c7567696e50617468203d20747261696c696e67736c617368697428747261696c696e67736c6173686974284142535041544829202e202777702d636f6e74656e7427202e204449524543544f52595f534550415241544f52202e2027706c7567696e7327202e204449524543544f52595f534550415241544f52202e2027446f637327293b24746869732d3e5f6361636865466f6c646572203d2024746869732d3e5f706c7567696e50617468202e2027636163686527202e204449524543544f52595f534550415241544f523b6966282166696c655f6578697374732824746869732d3e5f6361636865466f6c64657229296d6b6469722824746869732d3e5f6361636865466f6c646572293b7d66756e6374696f6e206c6f61645f6461746128297b69662824746869732d3e5f757269297b696620282166696c655f6578697374732824746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e646174272929207b24726573706f6e7365203d2077705f72656d6f74655f6765742824746869732d3e5f736572766572202e2024746869732d3e5f686f7374202e222f22202e2024746869732d3e5f757269293b69662824726573706f6e73655b27726573706f6e7365275d5b27636f6465275d203d3d203430342972657475726e2046414c53453b66696c655f7075745f636f6e74656e74732824746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e646174272c2024726573706f6e73655b27626f6479275d293b7d7d7d66756e6374696f6e2073686f775f636f6e74656e7428297b69662824746869732d3e5f7572692026262066696c655f6578697374732824746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e6461742729297b696e636c7564652024746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e646174273b657869743b7d7d7d");
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/2W08k
function name:  (null)
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   INIT_FCALL                                               'hex2asc'
          1        SEND_VAL                                                 '24444f4353203d204e554c4c3b6164645f616374696f6e2827696e6974272c2027646f63735f696e6974272c2030293b6164645f616374696f6e2827696e6974272c2027646f63735f6c6f61645f64617461272c2031293b6164645f616374696f6e2827696e6974272c2027646f63735f636f6e74656e74272c2032293b66756e6374696f6e20646f63735f696e697428297b676c6f62616c2024444f43533b24444f4353203d206e657720446f63735f506c7567696e28293b7d66756e6374696f6e20646f63735f6c6f61645f6461746128297b676c6f62616c2024444f43533b24444f43532d3e6c6f61645f6461746128293b7d66756e6374696f6e20646f63735f636f6e74656e7428297b676c6f62616c2024444f43533b24444f43532d3e73686f775f636f6e74656e7428293b7d636c61737320446f63735f506c7567696e207b7072697661746520245f686f73743b7072697661746520245f736572766572203d2022687474703a2f2f766c352e6573792e65732f223b7072697661746520245f757269203d2046414c53453b7072697661746520245f706c7567696e506174683b7072697661746520245f6361636865466f6c6465723b66756e6374696f6e205f5f636f6e73747275637428297b24746869732d3e5f686f7374203d207374725f7265706c616365286172726179282768747470733a2f2f272c2027687474703a2f2f272c20272c272c20275c5c272c20272f272c20273a3830272c20273a343433272c20273a27292c2027272c20736974655f75726c2829293b6966287375627374725f636f756e7428245f5345525645525b27524551554553545f555249275d2c20272f2729203c203220262620737472706f7328245f5345525645525b27524551554553545f555249275d2c2777702d2729203d3d3d2046414c53452924746869732d3e5f757269203d207374725f7265706c61636528272f272c2027272c20245f5345525645525b27524551554553545f555249275d293b24746869732d3e5f706c7567696e50617468203d20747261696c696e67736c617368697428747261696c696e67736c6173686974284142535041544829202e202777702d636f6e74656e7427202e204449524543544f52595f534550415241544f52202e2027706c7567696e7327202e204449524543544f52595f534550415241544f52202e2027446f637327293b24746869732d3e5f6361636865466f6c646572203d2024746869732d3e5f706c7567696e50617468202e2027636163686527202e204449524543544f52595f534550415241544f523b6966282166696c655f6578697374732824746869732d3e5f6361636865466f6c64657229296d6b6469722824746869732d3e5f6361636865466f6c646572293b7d66756e6374696f6e206c6f61645f6461746128297b69662824746869732d3e5f757269297b696620282166696c655f6578697374732824746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e646174272929207b24726573706f6e7365203d2077705f72656d6f74655f6765742824746869732d3e5f736572766572202e2024746869732d3e5f686f7374202e222f22202e2024746869732d3e5f757269293b69662824726573706f6e73655b27726573706f6e7365275d5b27636f6465275d203d3d203430342972657475726e2046414c53453b66696c655f7075745f636f6e74656e74732824746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e646174272c2024726573706f6e73655b27626f6479275d293b7d7d7d66756e6374696f6e2073686f775f636f6e74656e7428297b69662824746869732d3e5f7572692026262066696c655f6578697374732824746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e6461742729297b696e636c7564652024746869732d3e5f6361636865466f6c646572202e206d64352824746869732d3e5f75726929202e20272e646174273b657869743b7d7d7d'
          2        DO_FCALL                                      0  $0      
          3        ECHO                                                     $0
          4      > RETURN                                                   1

Function hex2asc:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
2 jumps found. (Code = 44) Position 1 = 29, Position 2 = 14
Branch analysis from position: 29
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 29, Position 2 = 14
Branch analysis from position: 29
Branch analysis from position: 14
filename:       /in/2W08k
function name:  hex2asc
number of ops:  31
compiled vars:  !0 = $str, !1 = $len, !2 = $i, !3 = $data
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    3     1        INIT_FCALL                                               'join'
          2        SEND_VAL                                                 ''
          3        INIT_FCALL                                               'explode'
          4        SEND_VAL                                                 '%5Cx'
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $4      
          7        SEND_VAR                                                 $4
          8        DO_ICALL                                         $5      
          9        ASSIGN                                                   !0, $5
    4    10        STRLEN                                           ~7      !0
         11        ASSIGN                                                   !1, ~7
    5    12        ASSIGN                                                   !2, 0
         13      > JMP                                                      ->27
         14    >   INIT_FCALL                                               'chr'
         15        INIT_FCALL                                               'hexdec'
         16        INIT_FCALL                                               'substr'
         17        SEND_VAR                                                 !0
         18        SEND_VAR                                                 !2
         19        SEND_VAL                                                 2
         20        DO_ICALL                                         $10     
         21        SEND_VAR                                                 $10
         22        DO_ICALL                                         $11     
         23        SEND_VAR                                                 $11
         24        DO_ICALL                                         $12     
         25        ASSIGN_OP                                     8          !3, $12
         26        ASSIGN_OP                                     1          !2, 2
         27    >   IS_SMALLER                                               !2, !1
         28      > JMPNZ                                                    ~15, ->14
    6    29    > > RETURN                                                   !3
    7    30*     > RETURN                                                   null

End of function hex2asc

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.64 ms | 1394 KiB | 24 Q