3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pattern = "/(?(DEFINE)(?<p1>BEGIN)(?<p2>END))((?&p1)|(?&p2))+/"; $subject = <<<EOF BEGIN something(); BEGIN if (false) echo "e"; END END EOF; $count = preg_match_all($pattern, $subject, $matches); var_dump($count, $matches);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/soFOH
function name:  (null)
number of ops:  13
compiled vars:  !0 = $pattern, !1 = $subject, !2 = $count, !3 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%2F%28%3F%28DEFINE%29%28%3F%3Cp1%3EBEGIN%29%28%3F%3Cp2%3EEND%29%29%28%28%3F%26p1%29%7C%28%3F%26p2%29%29%2B%2F'
    4     1        ASSIGN                                                   !1, 'BEGIN%0A++++something%28%29%3B%0A++++BEGIN%0A++++++++if+%28false%29+echo+%22e%22%3B%0A++++END%0AEND'
   13     2        INIT_FCALL                                               'preg_match_all'
          3        SEND_VAR                                                 !0
          4        SEND_VAR                                                 !1
          5        SEND_REF                                                 !3
          6        DO_ICALL                                         $6      
          7        ASSIGN                                                   !2, $6
   15     8        INIT_FCALL                                               'var_dump'
          9        SEND_VAR                                                 !2
         10        SEND_VAR                                                 !3
         11        DO_ICALL                                                 
         12      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
140.56 ms | 999 KiB | 15 Q