3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Example from // <https://en.m.wikipedia.org/w/load.php?modules=skins.minerva.icons.page.issues.default.color&only=styles> $oneVariant = <<<CSS .mw-ui-icon-minerva-issue-generic-defaultColor:before{background-image:url(/w/load.php?modules=skins.minerva.icons.page.issues.default.color&image=issue-generic&format=rasterized&skin=fallback&version=3061g);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E alert %3C/title%3E%3Cg fill=%22%2354595d%22%3E %3Cpath d=%22M19.64 16.36L11.53 2.3A1.85 1.85 0 0 0 10 1.21 1.85 1.85 0 0 0 8.48 2.3L.36 16.36C-.48 17.81.21 19 1.88 19h16.24c1.67 0 2.36-1.19 1.52-2.64zM11 16H9v-2h2zm0-4H9V6h2z%22/%3E %3C/g%3E%3C/svg%3E")} CSS; $twoVariants = <<<CSS .mw-ui-icon-minerva-issue-generic-defaultColor:before{background-image:url(/w/load.php?modules=skins.minerva.icons.page.issues.default.color&image=issue-generic&format=rasterized&skin=fallback&version=3061g);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E alert %3C/title%3E%3Cg fill=%22%2354595d%22%3E %3Cpath d=%22M19.64 16.36L11.53 2.3A1.85 1.85 0 0 0 10 1.21 1.85 1.85 0 0 0 8.48 2.3L.36 16.36C-.48 17.81.21 19 1.88 19h16.24c1.67 0 2.36-1.19 1.52-2.64zM11 16H9v-2h2zm0-4H9V6h2z%22/%3E %3C/g%3E%3C/svg%3E")}.mw-ui-icon-minerva-issue-generic-lowColor:before{background-image:url(/w/load.php?modules=skins.minerva.icons.page.issues.default.color&image=issue-generic&variant=lowColor&format=rasterized&skin=fallback&version=3061g);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E alert %3C/title%3E%3Cg fill=%22%23fc3%22%3E %3Cpath d=%22M19.64 16.36L11.53 2.3A1.85 1.85 0 0 0 10 1.21 1.85 1.85 0 0 0 8.48 2.3L.36 16.36C-.48 17.81.21 19 1.88 19h16.24c1.67 0 2.36-1.19 1.52-2.64zM11 16H9v-2h2zm0-4H9V6h2z%22/%3E %3C/g%3E%3C/svg%3E")} CSS; $oneTransferred = strlen(gzencode($oneVariant)); $twoTransferred = strlen(gzencode($twoVariants)); $lineFmt = "%+' 15s | %+13s |\n"; echo sprintf($lineFmt, '', 'Transfer size'); echo sprintf($lineFmt, 'One variant', "$oneTransferred B"); echo sprintf($lineFmt, 'Two variants', "$twoTransferred B"); echo sprintf($lineFmt, 'Diff', '+' . ($twoTransferred-$oneTransferred) . " B");
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/XD3sn
function name:  (null)
number of ops:  45
compiled vars:  !0 = $oneVariant, !1 = $twoVariants, !2 = $oneTransferred, !3 = $twoTransferred, !4 = $lineFmt
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   ASSIGN                                                   !0, '.mw-ui-icon-minerva-issue-generic-defaultColor%3Abefore%7Bbackground-image%3Aurl%28%2Fw%2Fload.php%3Fmodules%3Dskins.minerva.icons.page.issues.default.color%26image%3Dissue-generic%26format%3Drasterized%26skin%3Dfallback%26version%3D3061g%29%3Bbackground-image%3Alinear-gradient%28transparent%2Ctransparent%29%2Curl%28%22data%3Aimage%2Fsvg%2Bxml%2C%253Csvg+xmlns%3D%2522http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%2522+width%3D%252220%2522+height%3D%252220%2522+viewBox%3D%25220+0+20+20%2522%253E%253Ctitle%253E+alert+%253C%2Ftitle%253E%253Cg+fill%3D%2522%252354595d%2522%253E+%253Cpath+d%3D%2522M19.64+16.36L11.53+2.3A1.85+1.85+0+0+0+10+1.21+1.85+1.85+0+0+0+8.48+2.3L.36+16.36C-.48+17.81.21+19+1.88+19h16.24c1.67+0+2.36-1.19+1.52-2.64zM11+16H9v-2h2zm0-4H9V6h2z%2522%2F%253E+%253C%2Fg%253E%253C%2Fsvg%253E%22%29%7D'
   11     1        ASSIGN                                                   !1, '.mw-ui-icon-minerva-issue-generic-defaultColor%3Abefore%7Bbackground-image%3Aurl%28%2Fw%2Fload.php%3Fmodules%3Dskins.minerva.icons.page.issues.default.color%26image%3Dissue-generic%26format%3Drasterized%26skin%3Dfallback%26version%3D3061g%29%3Bbackground-image%3Alinear-gradient%28transparent%2Ctransparent%29%2Curl%28%22data%3Aimage%2Fsvg%2Bxml%2C%253Csvg+xmlns%3D%2522http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%2522+width%3D%252220%2522+height%3D%252220%2522+viewBox%3D%25220+0+20+20%2522%253E%253Ctitle%253E+alert+%253C%2Ftitle%253E%253Cg+fill%3D%2522%252354595d%2522%253E+%253Cpath+d%3D%2522M19.64+16.36L11.53+2.3A1.85+1.85+0+0+0+10+1.21+1.85+1.85+0+0+0+8.48+2.3L.36+16.36C-.48+17.81.21+19+1.88+19h16.24c1.67+0+2.36-1.19+1.52-2.64zM11+16H9v-2h2zm0-4H9V6h2z%2522%2F%253E+%253C%2Fg%253E%253C%2Fsvg%253E%22%29%7D.mw-ui-icon-minerva-issue-generic-lowColor%3Abefore%7Bbackground-image%3Aurl%28%2Fw%2Fload.php%3Fmodules%3Dskins.minerva.icons.page.issues.default.color%26image%3Dissue-generic%26variant%3DlowColor%26format%3Drasterized%26skin%3Dfallback%26version%3D3061g%29%3Bbackground-image%3Alinear-gradient%28transparent%2Ctransparent%29%2Curl%28%22data%3Aimage%2Fsvg%2Bxml%2C%253Csvg+xmlns%3D%2522http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%2522+width%3D%252220%2522+height%3D%252220%2522+viewBox%3D%25220+0+20+20%2522%253E%253Ctitle%253E+alert+%253C%2Ftitle%253E%253Cg+fill%3D%2522%2523fc3%2522%253E+%253Cpath+d%3D%2522M19.64+16.36L11.53+2.3A1.85+1.85+0+0+0+10+1.21+1.85+1.85+0+0+0+8.48+2.3L.36+16.36C-.48+17.81.21+19+1.88+19h16.24c1.67+0+2.36-1.19+1.52-2.64zM11+16H9v-2h2zm0-4H9V6h2z%2522%2F%253E+%253C%2Fg%253E%253C%2Fsvg%253E%22%29%7D'
   15     2        INIT_FCALL                                               'gzencode'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $7      
          5        STRLEN                                           ~8      $7
          6        ASSIGN                                                   !2, ~8
   17     7        INIT_FCALL                                               'gzencode'
          8        SEND_VAR                                                 !1
          9        DO_ICALL                                         $10     
         10        STRLEN                                           ~11     $10
         11        ASSIGN                                                   !3, ~11
   19    12        ASSIGN                                                   !4, '%25%2B%27+15s+%7C+%25%2B13s+%7C%0A'
   20    13        INIT_FCALL                                               'sprintf'
         14        SEND_VAR                                                 !4
         15        SEND_VAL                                                 ''
         16        SEND_VAL                                                 'Transfer+size'
         17        DO_ICALL                                         $14     
         18        ECHO                                                     $14
   21    19        INIT_FCALL                                               'sprintf'
         20        SEND_VAR                                                 !4
         21        SEND_VAL                                                 'One+variant'
         22        NOP                                                      
         23        FAST_CONCAT                                      ~15     !2, '+B'
         24        SEND_VAL                                                 ~15
         25        DO_ICALL                                         $16     
         26        ECHO                                                     $16
   22    27        INIT_FCALL                                               'sprintf'
         28        SEND_VAR                                                 !4
         29        SEND_VAL                                                 'Two+variants'
         30        NOP                                                      
         31        FAST_CONCAT                                      ~17     !3, '+B'
         32        SEND_VAL                                                 ~17
         33        DO_ICALL                                         $18     
         34        ECHO                                                     $18
   23    35        INIT_FCALL                                               'sprintf'
         36        SEND_VAR                                                 !4
         37        SEND_VAL                                                 'Diff'
         38        SUB                                              ~19     !3, !2
         39        CONCAT                                           ~20     '%2B', ~19
         40        CONCAT                                           ~21     ~20, '+B'
         41        SEND_VAL                                                 ~21
         42        DO_ICALL                                         $22     
         43        ECHO                                                     $22
         44      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.56 ms | 1438 KiB | 15 Q