3v4l.org

run code in 300+ PHP versions simultaneously
<?php $valorNominal = '45750'; $posVirgula = ""; if(strpos($valorNominal, '.') > -1){ $posVirgula = substr( $valorNominal, strlen($valorNominal)-2, strlen($valorNominal) ); if(strpos($posVirgula, '.') > -1){ $posVirgula = str_replace(".", "", $posVirgula); $posVirgula .= '0'; } } else { $posVirgula = "00"; } $valorNominal = substr( $valorNominal, 0, strlen($valorNominal)-2 ); echo $valorNominal; die; $valorNominal = number_format((double)$valorNominal, 2, ',', '.'); $valorNominal = explode(',', $valorNominal); $valorNominal = $valorNominal[0].','.$posVirgula; echo $valorNominal;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 31
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 30
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 30
Branch analysis from position: 31
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/IKU39
function name:  (null)
number of ops:  61
compiled vars:  !0 = $valorNominal, !1 = $posVirgula
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '45750'
    4     1        ASSIGN                                                   !1, ''
    5     2        INIT_FCALL                                               'strpos'
          3        SEND_VAR                                                 !0
          4        SEND_VAL                                                 '.'
          5        DO_ICALL                                         $4      
          6        IS_SMALLER                                               -1, $4
          7      > JMPZ                                                     ~5, ->31
    6     8    >   INIT_FCALL                                               'substr'
          9        SEND_VAR                                                 !0
         10        STRLEN                                           ~6      !0
         11        SUB                                              ~7      ~6, 2
         12        SEND_VAL                                                 ~7
         13        STRLEN                                           ~8      !0
         14        SEND_VAL                                                 ~8
         15        DO_ICALL                                         $9      
         16        ASSIGN                                                   !1, $9
    8    17        INIT_FCALL                                               'strpos'
         18        SEND_VAR                                                 !1
         19        SEND_VAL                                                 '.'
         20        DO_ICALL                                         $11     
         21        IS_SMALLER                                               -1, $11
         22      > JMPZ                                                     ~12, ->30
    9    23    >   INIT_FCALL                                               'str_replace'
         24        SEND_VAL                                                 '.'
         25        SEND_VAL                                                 ''
         26        SEND_VAR                                                 !1
         27        DO_ICALL                                         $13     
         28        ASSIGN                                                   !1, $13
   10    29        ASSIGN_OP                                     8          !1, '0'
         30    > > JMP                                                      ->32
   13    31    >   ASSIGN                                                   !1, '00'
   16    32    >   INIT_FCALL                                               'substr'
         33        SEND_VAR                                                 !0
         34        SEND_VAL                                                 0
         35        STRLEN                                           ~17     !0
         36        SUB                                              ~18     ~17, 2
         37        SEND_VAL                                                 ~18
         38        DO_ICALL                                         $19     
         39        ASSIGN                                                   !0, $19
   17    40        ECHO                                                     !0
         41      > EXIT                                                     
   18    42*       INIT_FCALL                                               'number_format'
         43*       CAST                                          5  ~21     !0
         44*       SEND_VAL                                                 ~21
         45*       SEND_VAL                                                 2
         46*       SEND_VAL                                                 '%2C'
         47*       SEND_VAL                                                 '.'
         48*       DO_ICALL                                         $22     
         49*       ASSIGN                                                   !0, $22
   19    50*       INIT_FCALL                                               'explode'
         51*       SEND_VAL                                                 '%2C'
         52*       SEND_VAR                                                 !0
         53*       DO_ICALL                                         $24     
         54*       ASSIGN                                                   !0, $24
   20    55*       FETCH_DIM_R                                      ~26     !0, 0
         56*       CONCAT                                           ~27     ~26, '%2C'
         57*       CONCAT                                           ~28     ~27, !1
         58*       ASSIGN                                                   !0, ~28
   22    59*       ECHO                                                     !0
         60*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
177.2 ms | 1400 KiB | 23 Q