3v4l.org

run code in 300+ PHP versions simultaneously
<?php $amount = 12302342340.12; $number_sep = array(); $multi = 1; $exit = false; $i = 1000; for($j=3;$j < 15 ;$j=$j+2) { switch($j) { case 3: $temp = fmod($amount, $i); if($i < $amount) { if(!$temp) { $number_sep[] = $i; } else { $amount = $amount - $temp; $number_sep[] = $temp; } } else { if(!$temp) { $number_sep[] = $i; } else { $number_sep[] = $temp; } $exit = true; } break; case $j > 3 : $temp = $amount % $i; if($i < $amount) { if(!$temp) { $number_sep[] = $i; } else { $amount = $amount - $temp; $number_sep[] = substr($temp, 0, 2); } } else { if(!$temp) { $number_sep[] = $i; } else { $number_sep[] = substr($temp, 0, 2); } $exit = true; }; break; } if($exit) { break; } $i = 10 * 10 * $i; } echo implode(',',array_reverse($number_sep));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
2 jumps found. (Code = 44) Position 1 = 80, Position 2 = 7
Branch analysis from position: 80
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 39
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 72
Branch analysis from position: 72
2 jumps found. (Code = 43) Position 1 = 73, Position 2 = 74
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 80
Branch analysis from position: 80
Branch analysis from position: 74
2 jumps found. (Code = 44) Position 1 = 80, Position 2 = 7
Branch analysis from position: 80
Branch analysis from position: 7
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 43, Position 2 = 58
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 48
Branch analysis from position: 45
1 jumps found. (Code = 42) Position 1 = 57
Branch analysis from position: 57
1 jumps found. (Code = 42) Position 1 = 71
Branch analysis from position: 71
1 jumps found. (Code = 42) Position 1 = 72
Branch analysis from position: 72
Branch analysis from position: 48
1 jumps found. (Code = 42) Position 1 = 71
Branch analysis from position: 71
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 63
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 70
Branch analysis from position: 70
1 jumps found. (Code = 42) Position 1 = 72
Branch analysis from position: 72
Branch analysis from position: 63
1 jumps found. (Code = 42) Position 1 = 72
Branch analysis from position: 72
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 30
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 25
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
1 jumps found. (Code = 42) Position 1 = 72
Branch analysis from position: 72
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 35
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
1 jumps found. (Code = 42) Position 1 = 72
Branch analysis from position: 72
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 72
Branch analysis from position: 72
filename:       /in/v7u3U
function name:  (null)
number of ops:  89
compiled vars:  !0 = $amount, !1 = $number_sep, !2 = $multi, !3 = $exit, !4 = $i, !5 = $j, !6 = $temp
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 1.23023e+10
    3     1        ASSIGN                                                   !1, <array>
    4     2        ASSIGN                                                   !2, 1
    5     3        ASSIGN                                                   !3, <false>
    6     4        ASSIGN                                                   !4, 1000
    7     5        ASSIGN                                                   !5, 3
          6      > JMP                                                      ->78
   10     7    >   IS_EQUAL                                                 !5, 3
          8      > JMPNZ                                                    ~13, ->13
   28     9    >   IS_SMALLER                                       ~14     3, !5
         10        IS_EQUAL                                                 !5, ~14
         11      > JMPNZ                                                    ~13, ->39
         12    > > JMP                                                      ->72
   10    13    >   INIT_FCALL                                               'fmod'
         14        SEND_VAR                                                 !0
         15        SEND_VAR                                                 !4
         16        DO_ICALL                                         $15     
         17        ASSIGN                                                   !6, $15
   12    18        IS_SMALLER                                               !4, !0
         19      > JMPZ                                                     ~17, ->30
   13    20    >   BOOL_NOT                                         ~18     !6
         21      > JMPZ                                                     ~18, ->25
   14    22    >   ASSIGN_DIM                                               !1
         23        OP_DATA                                                  !4
         24      > JMP                                                      ->29
   16    25    >   SUB                                              ~20     !0, !6
         26        ASSIGN                                                   !0, ~20
   17    27        ASSIGN_DIM                                               !1
         28        OP_DATA                                                  !6
         29    > > JMP                                                      ->38
   20    30    >   BOOL_NOT                                         ~23     !6
         31      > JMPZ                                                     ~23, ->35
   21    32    >   ASSIGN_DIM                                               !1
         33        OP_DATA                                                  !4
         34      > JMP                                                      ->37
   23    35    >   ASSIGN_DIM                                               !1
         36        OP_DATA                                                  !6
   25    37    >   ASSIGN                                                   !3, <true>
   27    38    > > JMP                                                      ->72
   28    39    >   MOD                                              ~27     !0, !4
         40        ASSIGN                                                   !6, ~27
   30    41        IS_SMALLER                                               !4, !0
         42      > JMPZ                                                     ~29, ->58
   31    43    >   BOOL_NOT                                         ~30     !6
         44      > JMPZ                                                     ~30, ->48
   32    45    >   ASSIGN_DIM                                               !1
         46        OP_DATA                                                  !4
         47      > JMP                                                      ->57
   34    48    >   SUB                                              ~32     !0, !6
         49        ASSIGN                                                   !0, ~32
   35    50        INIT_FCALL                                               'substr'
         51        SEND_VAR                                                 !6
         52        SEND_VAL                                                 0
         53        SEND_VAL                                                 2
         54        DO_ICALL                                         $35     
         55        ASSIGN_DIM                                               !1
         56        OP_DATA                                                  $35
         57    > > JMP                                                      ->71
   38    58    >   BOOL_NOT                                         ~36     !6
         59      > JMPZ                                                     ~36, ->63
   39    60    >   ASSIGN_DIM                                               !1
         61        OP_DATA                                                  !4
         62      > JMP                                                      ->70
   41    63    >   INIT_FCALL                                               'substr'
         64        SEND_VAR                                                 !6
         65        SEND_VAL                                                 0
         66        SEND_VAL                                                 2
         67        DO_ICALL                                         $39     
         68        ASSIGN_DIM                                               !1
         69        OP_DATA                                                  $39
   43    70    >   ASSIGN                                                   !3, <true>
   45    71    > > JMP                                                      ->72
   48    72    > > JMPZ                                                     !3, ->74
   49    73    > > JMP                                                      ->80
   51    74    >   MUL                                              ~41     !4, 100
         75        ASSIGN                                                   !4, ~41
    7    76        ADD                                              ~43     !5, 2
         77        ASSIGN                                                   !5, ~43
         78    >   IS_SMALLER                                               !5, 15
         79      > JMPNZ                                                    ~45, ->7
   53    80    >   INIT_FCALL                                               'implode'
         81        SEND_VAL                                                 '%2C'
         82        INIT_FCALL                                               'array_reverse'
         83        SEND_VAR                                                 !1
         84        DO_ICALL                                         $46     
         85        SEND_VAR                                                 $46
         86        DO_ICALL                                         $47     
         87        ECHO                                                     $47
         88      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.11 ms | 1404 KiB | 21 Q