3v4l.org

run code in 300+ PHP versions simultaneously
<?php $w=150; $h=150; $cols=4; $im = imageCreate($w,$h); $del=1.5; $mw = $w/$del; $mh = $h/$del; $c = imageColorAllocate($im, 245, 245, 245); imagefilledrectangle($im, 0, 0, $w, $h, $c); $c = array(rand(0,200),rand(0,200),rand(0,200)); for($zz=0;$zz<5;$zz++) { $im = createPolgon($im, $w, $h, $mw, $mh,5, $c, 75); } header('Content-type: image/jpg'); imagepng($im); imagedestroy($im); function createPolgon($image, $width, $height, $mwidth, $mheight, $count, $color, $merge) { $img = imageCreate($width,$height); $c = imageColorAllocate($img, 245, 245, 245); imagefilledrectangle($img, 0, 0, $width, $height, $c); for($i=0;$i<$count;$i++) { $c = imageColorAllocate($image,$color[0],$color[1],$color[2]); $cnt=3; $values=array(rand(0,$mwidth), rand(0,$mheight),rand(0,$mwidth), rand(0,$mheight),rand(0,$mwidth), rand(0,$mheight)); imagefilledpolygon($image, $values, $cnt, $c); } $rotate = imagerotate($image, 90, 0); imagecopymerge($image, $rotate, 0, 0, 0, 0, $width, $height, 50); $rotate = imagerotate($image, 180, 0); imagecopymerge($image, $rotate, 0, 0, 0, 0, $width, $height, 50); imagecopymerge($img, $image, 0, 0, 0, 0, $width, $height, $merge); return $img; }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 46
Branch analysis from position: 60
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 46
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 46
Branch analysis from position: 60
Branch analysis from position: 46
filename:       /in/qTHAh
function name:  (null)
number of ops:  70
compiled vars:  !0 = $w, !1 = $h, !2 = $cols, !3 = $im, !4 = $del, !5 = $mw, !6 = $mh, !7 = $c, !8 = $zz
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 150
    4     1        ASSIGN                                                   !1, 150
    6     2        ASSIGN                                                   !2, 4
    8     3        INIT_FCALL_BY_NAME                                       'imageCreate'
          4        SEND_VAR_EX                                              !0
          5        SEND_VAR_EX                                              !1
          6        DO_FCALL                                      0  $12     
          7        ASSIGN                                                   !3, $12
   10     8        ASSIGN                                                   !4, 1.5
   11     9        DIV                                              ~15     !0, !4
         10        ASSIGN                                                   !5, ~15
         11        DIV                                              ~17     !1, !4
         12        ASSIGN                                                   !6, ~17
   13    13        INIT_FCALL_BY_NAME                                       'imageColorAllocate'
         14        SEND_VAR_EX                                              !3
         15        SEND_VAL_EX                                              245
         16        SEND_VAL_EX                                              245
         17        SEND_VAL_EX                                              245
         18        DO_FCALL                                      0  $19     
         19        ASSIGN                                                   !7, $19
   14    20        INIT_FCALL_BY_NAME                                       'imagefilledrectangle'
         21        SEND_VAR_EX                                              !3
         22        SEND_VAL_EX                                              0
         23        SEND_VAL_EX                                              0
         24        SEND_VAR_EX                                              !0
         25        SEND_VAR_EX                                              !1
         26        SEND_VAR_EX                                              !7
         27        DO_FCALL                                      0          
   16    28        INIT_FCALL                                               'rand'
         29        SEND_VAL                                                 0
         30        SEND_VAL                                                 200
         31        DO_ICALL                                         $22     
         32        INIT_ARRAY                                       ~23     $22
         33        INIT_FCALL                                               'rand'
         34        SEND_VAL                                                 0
         35        SEND_VAL                                                 200
         36        DO_ICALL                                         $24     
         37        ADD_ARRAY_ELEMENT                                ~23     $24
         38        INIT_FCALL                                               'rand'
         39        SEND_VAL                                                 0
         40        SEND_VAL                                                 200
         41        DO_ICALL                                         $25     
         42        ADD_ARRAY_ELEMENT                                ~23     $25
         43        ASSIGN                                                   !7, ~23
   17    44        ASSIGN                                                   !8, 0
         45      > JMP                                                      ->58
   19    46    >   INIT_FCALL_BY_NAME                                       'createPolgon'
         47        SEND_VAR_EX                                              !3
         48        SEND_VAR_EX                                              !0
         49        SEND_VAR_EX                                              !1
         50        SEND_VAR_EX                                              !5
         51        SEND_VAR_EX                                              !6
         52        SEND_VAL_EX                                              5
         53        SEND_VAR_EX                                              !7
         54        SEND_VAL_EX                                              75
         55        DO_FCALL                                      0  $28     
         56        ASSIGN                                                   !3, $28
   17    57        PRE_INC                                                  !8
         58    >   IS_SMALLER                                               !8, 5
         59      > JMPNZ                                                    ~31, ->46
   22    60    >   INIT_FCALL                                               'header'
         61        SEND_VAL                                                 'Content-type%3A+image%2Fjpg'
         62        DO_ICALL                                                 
   23    63        INIT_FCALL_BY_NAME                                       'imagepng'
         64        SEND_VAR_EX                                              !3
         65        DO_FCALL                                      0          
   24    66        INIT_FCALL_BY_NAME                                       'imagedestroy'
         67        SEND_VAR_EX                                              !3
         68        DO_FCALL                                      0          
   49    69      > RETURN                                                   1

Function createpolgon:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 82
Branch analysis from position: 82
2 jumps found. (Code = 44) Position 1 = 84, Position 2 = 30
Branch analysis from position: 84
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 30
2 jumps found. (Code = 44) Position 1 = 84, Position 2 = 30
Branch analysis from position: 84
Branch analysis from position: 30
filename:       /in/qTHAh
function name:  createPolgon
number of ops:  131
compiled vars:  !0 = $image, !1 = $width, !2 = $height, !3 = $mwidth, !4 = $mheight, !5 = $count, !6 = $color, !7 = $merge, !8 = $img, !9 = $c, !10 = $i, !11 = $cnt, !12 = $values, !13 = $rotate
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   26     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
          4        RECV                                             !4      
          5        RECV                                             !5      
          6        RECV                                             !6      
          7        RECV                                             !7      
   28     8        INIT_FCALL_BY_NAME                                       'imageCreate'
          9        SEND_VAR_EX                                              !1
         10        SEND_VAR_EX                                              !2
         11        DO_FCALL                                      0  $14     
         12        ASSIGN                                                   !8, $14
   29    13        INIT_FCALL_BY_NAME                                       'imageColorAllocate'
         14        SEND_VAR_EX                                              !8
         15        SEND_VAL_EX                                              245
         16        SEND_VAL_EX                                              245
         17        SEND_VAL_EX                                              245
         18        DO_FCALL                                      0  $16     
         19        ASSIGN                                                   !9, $16
   30    20        INIT_FCALL_BY_NAME                                       'imagefilledrectangle'
         21        SEND_VAR_EX                                              !8
         22        SEND_VAL_EX                                              0
         23        SEND_VAL_EX                                              0
         24        SEND_VAR_EX                                              !1
         25        SEND_VAR_EX                                              !2
         26        SEND_VAR_EX                                              !9
         27        DO_FCALL                                      0          
   32    28        ASSIGN                                                   !10, 0
         29      > JMP                                                      ->82
   34    30    >   INIT_FCALL_BY_NAME                                       'imageColorAllocate'
         31        SEND_VAR_EX                                              !0
         32        CHECK_FUNC_ARG                                           
         33        FETCH_DIM_FUNC_ARG                               $20     !6, 0
         34        SEND_FUNC_ARG                                            $20
         35        CHECK_FUNC_ARG                                           
         36        FETCH_DIM_FUNC_ARG                               $21     !6, 1
         37        SEND_FUNC_ARG                                            $21
         38        CHECK_FUNC_ARG                                           
         39        FETCH_DIM_FUNC_ARG                               $22     !6, 2
         40        SEND_FUNC_ARG                                            $22
         41        DO_FCALL                                      0  $23     
         42        ASSIGN                                                   !9, $23
   35    43        ASSIGN                                                   !11, 3
   36    44        INIT_FCALL                                               'rand'
         45        SEND_VAL                                                 0
         46        SEND_VAR                                                 !3
         47        DO_ICALL                                         $26     
         48        INIT_ARRAY                                       ~27     $26
         49        INIT_FCALL                                               'rand'
         50        SEND_VAL                                                 0
         51        SEND_VAR                                                 !4
         52        DO_ICALL                                         $28     
         53        ADD_ARRAY_ELEMENT                                ~27     $28
         54        INIT_FCALL                                               'rand'
         55        SEND_VAL                                                 0
         56        SEND_VAR                                                 !3
         57        DO_ICALL                                         $29     
         58        ADD_ARRAY_ELEMENT                                ~27     $29
         59        INIT_FCALL                                               'rand'
         60        SEND_VAL                                                 0
         61        SEND_VAR                                                 !4
         62        DO_ICALL                                         $30     
         63        ADD_ARRAY_ELEMENT                                ~27     $30
         64        INIT_FCALL                                               'rand'
         65        SEND_VAL                                                 0
         66        SEND_VAR                                                 !3
         67        DO_ICALL                                         $31     
         68        ADD_ARRAY_ELEMENT                                ~27     $31
         69        INIT_FCALL                                               'rand'
         70        SEND_VAL                                                 0
         71        SEND_VAR                                                 !4
         72        DO_ICALL                                         $32     
         73        ADD_ARRAY_ELEMENT                                ~27     $32
         74        ASSIGN                                                   !12, ~27
   37    75        INIT_FCALL_BY_NAME                                       'imagefilledpolygon'
         76        SEND_VAR_EX                                              !0
         77        SEND_VAR_EX                                              !12
         78        SEND_VAR_EX                                              !11
         79        SEND_VAR_EX                                              !9
         80        DO_FCALL                                      0          
   32    81        PRE_INC                                                  !10
         82    >   IS_SMALLER                                               !10, !5
         83      > JMPNZ                                                    ~36, ->30
   40    84    >   INIT_FCALL_BY_NAME                                       'imagerotate'
         85        SEND_VAR_EX                                              !0
         86        SEND_VAL_EX                                              90
         87        SEND_VAL_EX                                              0
         88        DO_FCALL                                      0  $37     
         89        ASSIGN                                                   !13, $37
   41    90        INIT_FCALL_BY_NAME                                       'imagecopymerge'
         91        SEND_VAR_EX                                              !0
         92        SEND_VAR_EX                                              !13
         93        SEND_VAL_EX                                              0
         94        SEND_VAL_EX                                              0
         95        SEND_VAL_EX                                              0
         96        SEND_VAL_EX                                              0
         97        SEND_VAR_EX                                              !1
         98        SEND_VAR_EX                                              !2
         99        SEND_VAL_EX                                              50
        100        DO_FCALL                                      0          
   43   101        INIT_FCALL_BY_NAME                                       'imagerotate'
        102        SEND_VAR_EX                                              !0
        103        SEND_VAL_EX                                              180
        104        SEND_VAL_EX                                              0
        105        DO_FCALL                                      0  $40     
        106        ASSIGN                                                   !13, $40
   44   107        INIT_FCALL_BY_NAME                                       'imagecopymerge'
        108        SEND_VAR_EX                                              !0
        109        SEND_VAR_EX                                              !13
        110        SEND_VAL_EX                                              0
        111        SEND_VAL_EX                                              0
        112        SEND_VAL_EX                                              0
        113        SEND_VAL_EX                                              0
        114        SEND_VAR_EX                                              !1
        115        SEND_VAR_EX                                              !2
        116        SEND_VAL_EX                                              50
        117        DO_FCALL                                      0          
   46   118        INIT_FCALL_BY_NAME                                       'imagecopymerge'
        119        SEND_VAR_EX                                              !8
        120        SEND_VAR_EX                                              !0
        121        SEND_VAL_EX                                              0
        122        SEND_VAL_EX                                              0
        123        SEND_VAL_EX                                              0
        124        SEND_VAL_EX                                              0
        125        SEND_VAR_EX                                              !1
        126        SEND_VAR_EX                                              !2
        127        SEND_VAR_EX                                              !7
        128        DO_FCALL                                      0          
   48   129      > RETURN                                                   !8
   49   130*     > RETURN                                                   null

End of function createpolgon

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.35 ms | 1412 KiB | 17 Q