3v4l.org

run code in 300+ PHP versions simultaneously
<?php $multiSql = " ALTER TABLE `my_table` CHANGE `typ` `typ` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0=none; 1=test1; 2=test2; 3=test3'; ALTER TABLE `my_table2` ADD `date` varchar(25) COLLATE utf8_czech_ci DEFAULT NULL AFTER `test`; ALTER TABLE `my_table3` ADD `date` varchar(25) COLLATE utf8_czech_ci DEFAULT NULL AFTER `test`; ALTER TABLE `my_table3` ADD `test2` varchar(25) COLLATE utf8_czech_ci DEFAULT NULL AFTER `date`; ALTER TABLE `my_table3` CHANGE `test2` `test2` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0=test; 1=test2;'; "; $sqlArray = array_map(function($x){ return trim(preg_replace("/\R/", '', $x)); }, preg_split('~\([^)]*\)(*SKIP)(*F)|(?<=;)(?=\h*$|\s*\bALTER TABLE\b)~m', trim($multiSql), -1, PREG_SPLIT_NO_EMPTY)); print_r($sqlArray);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/l6677
function name:  (null)
number of ops:  20
compiled vars:  !0 = $multiSql, !1 = $sqlArray
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%0AALTER+TABLE+%60my_table%60+CHANGE+%60typ%60+%60typ%60+INT%2810%29+UNSIGNED+NOT+NULL+DEFAULT+%270%27+COMMENT+%270%3Dnone%3B+1%3Dtest1%3B+2%3Dtest2%3B+3%3Dtest3%27%3B%0A%0AALTER+TABLE+%60my_table2%60%0A++ADD+%60date%60+varchar%2825%29+COLLATE+utf8_czech_ci+DEFAULT+NULL+AFTER+%60test%60%3B%0A+%0AALTER+TABLE+%60my_table3%60+ADD+%60date%60+varchar%2825%29+COLLATE+utf8_czech_ci+DEFAULT+NULL+AFTER+%60test%60%3B+ALTER+TABLE+%60my_table3%60+ADD+%60test2%60+varchar%2825%29+COLLATE+utf8_czech_ci+DEFAULT+NULL+AFTER+%60date%60%3B%0A%0AALTER+TABLE+%60my_table3%60+CHANGE+%60test2%60+%60test2%60+INT%2810%29+UNSIGNED+NOT+NULL+DEFAULT+%270%27+COMMENT+%270%3Dtest%3B+1%3Dtest2%3B%27%3B%0A'
   14     1        INIT_FCALL                                               'array_map'
          2        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2Fl6677%3A14%240'
   16     3        SEND_VAL                                                 ~3
          4        INIT_FCALL                                               'preg_split'
          5        SEND_VAL                                                 '%7E%5C%28%5B%5E%29%5D%2A%5C%29%28%2ASKIP%29%28%2AF%29%7C%28%3F%3C%3D%3B%29%28%3F%3D%5Ch%2A%24%7C%5Cs%2A%5CbALTER+TABLE%5Cb%29%7Em'
          6        INIT_FCALL                                               'trim'
          7        SEND_VAR                                                 !0
          8        DO_ICALL                                         $4      
          9        SEND_VAR                                                 $4
         10        SEND_VAL                                                 -1
         11        SEND_VAL                                                 1
         12        DO_ICALL                                         $5      
         13        SEND_VAR                                                 $5
         14        DO_ICALL                                         $6      
   14    15        ASSIGN                                                   !1, $6
   18    16        INIT_FCALL                                               'print_r'
         17        SEND_VAR                                                 !1
         18        DO_ICALL                                                 
         19      > RETURN                                                   1

Function %00%7Bclosure%7D%2Fin%2Fl6677%3A14%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/l6677
function name:  {closure}
number of ops:  11
compiled vars:  !0 = $x
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   RECV                                             !0      
   15     1        INIT_FCALL                                               'trim'
          2        INIT_FCALL                                               'preg_replace'
          3        SEND_VAL                                                 '%2F%5CR%2F'
          4        SEND_VAL                                                 ''
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $1      
          7        SEND_VAR                                                 $1
          8        DO_ICALL                                         $2      
          9      > RETURN                                                   $2
   16    10*     > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2Fl6677%3A14%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.18 ms | 951 KiB | 24 Q