3v4l.org

run code in 300+ PHP versions simultaneously
<?php function BallRand() { mt_srand(); $ball1 = mt_rand(1,99); $ball2 = mt_rand(1,99); if($ball2 == $ball1): $ball2 = mt_rand(1,99); endif; $ball3 = mt_rand(1,99); if($ball3 == $ball1 || $ball3 == $ball2): $ball3 = mt_rand(1,99); endif; $ball4 = mt_rand(1,99); if($ball4 == $ball1 || $ball4 == $ball2 || $ball4 == $ball3): $ball4 = mt_rand(1,99); endif; $ball5 = mt_rand(1,99); if($ball5 == $ball1 || $ball5 == $ball2 || $ball5 == $ball3 || $ball5 == $ball4): $ball5 = mt_rand(1,99); endif; mt_srand(); $bonus_ball = mt_rand(1,11); echo "$ball1#$ball2#$ball3#$ball4#$ball5|$bonus_ball\n"; echo "$ball1\n"; echo "$ball2\n"; echo "$ball3\n"; echo "$ball4\n"; echo "$ball5\n"; echo "$bonus_ball\n"; } echo BallRand() ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/F8eR2
function name:  (null)
number of ops:  4
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   38     0  E >   INIT_FCALL                                               'ballrand'
          1        DO_FCALL                                      0  $0      
          2        ECHO                                                     $0
   39     3      > RETURN                                                   1

Function ballrand:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 19
Branch analysis from position: 14
2 jumps found. (Code = 47) Position 1 = 26, Position 2 = 28
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 29, Position 2 = 34
Branch analysis from position: 29
2 jumps found. (Code = 47) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
2 jumps found. (Code = 47) Position 1 = 44, Position 2 = 46
Branch analysis from position: 44
2 jumps found. (Code = 43) Position 1 = 47, Position 2 = 52
Branch analysis from position: 47
2 jumps found. (Code = 47) Position 1 = 59, Position 2 = 61
Branch analysis from position: 59
2 jumps found. (Code = 47) Position 1 = 62, Position 2 = 64
Branch analysis from position: 62
2 jumps found. (Code = 47) Position 1 = 65, Position 2 = 67
Branch analysis from position: 65
2 jumps found. (Code = 43) Position 1 = 68, Position 2 = 73
Branch analysis from position: 68
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 73
Branch analysis from position: 67
Branch analysis from position: 64
Branch analysis from position: 61
Branch analysis from position: 52
Branch analysis from position: 46
Branch analysis from position: 43
Branch analysis from position: 34
Branch analysis from position: 28
Branch analysis from position: 19
filename:       /in/F8eR2
function name:  BallRand
number of ops:  112
compiled vars:  !0 = $ball1, !1 = $ball2, !2 = $ball3, !3 = $ball4, !4 = $ball5, !5 = $bonus_ball
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   INIT_FCALL                                               'mt_srand'
          1        DO_ICALL                                                 
    5     2        INIT_FCALL                                               'mt_rand'
          3        SEND_VAL                                                 1
          4        SEND_VAL                                                 99
          5        DO_ICALL                                         $7      
          6        ASSIGN                                                   !0, $7
    6     7        INIT_FCALL                                               'mt_rand'
          8        SEND_VAL                                                 1
          9        SEND_VAL                                                 99
         10        DO_ICALL                                         $9      
         11        ASSIGN                                                   !1, $9
    7    12        IS_EQUAL                                                 !1, !0
         13      > JMPZ                                                     ~11, ->19
    8    14    >   INIT_FCALL                                               'mt_rand'
         15        SEND_VAL                                                 1
         16        SEND_VAL                                                 99
         17        DO_ICALL                                         $12     
         18        ASSIGN                                                   !1, $12
   11    19    >   INIT_FCALL                                               'mt_rand'
         20        SEND_VAL                                                 1
         21        SEND_VAL                                                 99
         22        DO_ICALL                                         $14     
         23        ASSIGN                                                   !2, $14
   12    24        IS_EQUAL                                         ~16     !2, !0
         25      > JMPNZ_EX                                         ~16     ~16, ->28
         26    >   IS_EQUAL                                         ~17     !2, !1
         27        BOOL                                             ~16     ~17
         28    > > JMPZ                                                     ~16, ->34
   13    29    >   INIT_FCALL                                               'mt_rand'
         30        SEND_VAL                                                 1
         31        SEND_VAL                                                 99
         32        DO_ICALL                                         $18     
         33        ASSIGN                                                   !2, $18
   16    34    >   INIT_FCALL                                               'mt_rand'
         35        SEND_VAL                                                 1
         36        SEND_VAL                                                 99
         37        DO_ICALL                                         $20     
         38        ASSIGN                                                   !3, $20
   17    39        IS_EQUAL                                         ~22     !3, !0
         40      > JMPNZ_EX                                         ~22     ~22, ->43
         41    >   IS_EQUAL                                         ~23     !3, !1
         42        BOOL                                             ~22     ~23
         43    > > JMPNZ_EX                                         ~22     ~22, ->46
         44    >   IS_EQUAL                                         ~24     !3, !2
         45        BOOL                                             ~22     ~24
         46    > > JMPZ                                                     ~22, ->52
   18    47    >   INIT_FCALL                                               'mt_rand'
         48        SEND_VAL                                                 1
         49        SEND_VAL                                                 99
         50        DO_ICALL                                         $25     
         51        ASSIGN                                                   !3, $25
   21    52    >   INIT_FCALL                                               'mt_rand'
         53        SEND_VAL                                                 1
         54        SEND_VAL                                                 99
         55        DO_ICALL                                         $27     
         56        ASSIGN                                                   !4, $27
   22    57        IS_EQUAL                                         ~29     !4, !0
         58      > JMPNZ_EX                                         ~29     ~29, ->61
         59    >   IS_EQUAL                                         ~30     !4, !1
         60        BOOL                                             ~29     ~30
         61    > > JMPNZ_EX                                         ~29     ~29, ->64
         62    >   IS_EQUAL                                         ~31     !4, !2
         63        BOOL                                             ~29     ~31
         64    > > JMPNZ_EX                                         ~29     ~29, ->67
         65    >   IS_EQUAL                                         ~32     !4, !3
         66        BOOL                                             ~29     ~32
         67    > > JMPZ                                                     ~29, ->73
   23    68    >   INIT_FCALL                                               'mt_rand'
         69        SEND_VAL                                                 1
         70        SEND_VAL                                                 99
         71        DO_ICALL                                         $33     
         72        ASSIGN                                                   !4, $33
   26    73    >   INIT_FCALL                                               'mt_srand'
         74        DO_ICALL                                                 
   27    75        INIT_FCALL                                               'mt_rand'
         76        SEND_VAL                                                 1
         77        SEND_VAL                                                 11
         78        DO_ICALL                                         $36     
         79        ASSIGN                                                   !5, $36
   29    80        ROPE_INIT                                    12  ~39     !0
         81        ROPE_ADD                                      1  ~39     ~39, '%23'
         82        ROPE_ADD                                      2  ~39     ~39, !1
         83        ROPE_ADD                                      3  ~39     ~39, '%23'
         84        ROPE_ADD                                      4  ~39     ~39, !2
         85        ROPE_ADD                                      5  ~39     ~39, '%23'
         86        ROPE_ADD                                      6  ~39     ~39, !3
         87        ROPE_ADD                                      7  ~39     ~39, '%23'
         88        ROPE_ADD                                      8  ~39     ~39, !4
         89        ROPE_ADD                                      9  ~39     ~39, '%7C'
         90        ROPE_ADD                                     10  ~39     ~39, !5
         91        ROPE_END                                     11  ~38     ~39, '%0A'
         92        ECHO                                                     ~38
   31    93        NOP                                                      
         94        FAST_CONCAT                                      ~45     !0, '%0A'
         95        ECHO                                                     ~45
   32    96        NOP                                                      
         97        FAST_CONCAT                                      ~46     !1, '%0A'
         98        ECHO                                                     ~46
   33    99        NOP                                                      
        100        FAST_CONCAT                                      ~47     !2, '%0A'
        101        ECHO                                                     ~47
   34   102        NOP                                                      
        103        FAST_CONCAT                                      ~48     !3, '%0A'
        104        ECHO                                                     ~48
   35   105        NOP                                                      
        106        FAST_CONCAT                                      ~49     !4, '%0A'
        107        ECHO                                                     ~49
   36   108        NOP                                                      
        109        FAST_CONCAT                                      ~50     !5, '%0A'
        110        ECHO                                                     ~50
   37   111      > RETURN                                                   null

End of function ballrand

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.58 ms | 1407 KiB | 18 Q