3v4l.org

run code in 300+ PHP versions simultaneously
<?php $yyyy = '1995'; $mm = '03'; $dd = '13'; $ageY = date("Y")-intval($yyyy); $ageM = date("n")-intval($mm); $ageD = date("j")-intval($dd); if($ageD < 0){ $ageD = $ageD += date("t"); $ageM--; } if($ageM < 0){ $ageM+=12; $ageY--; } $age = $ageY."/".$ageM."/".$ageD; echo $age;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 29
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
Branch analysis from position: 29
filename:       /in/HYGO9
function name:  (null)
number of ops:  40
compiled vars:  !0 = $yyyy, !1 = $mm, !2 = $dd, !3 = $ageY, !4 = $ageM, !5 = $ageD, !6 = $age
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '1995'
    3     1        ASSIGN                                                   !1, '03'
    4     2        ASSIGN                                                   !2, '13'
    5     3        INIT_FCALL                                               'date'
          4        SEND_VAL                                                 'Y'
          5        DO_ICALL                                         $10     
          6        CAST                                          4  ~11     !0
          7        SUB                                              ~12     $10, ~11
          8        ASSIGN                                                   !3, ~12
    6     9        INIT_FCALL                                               'date'
         10        SEND_VAL                                                 'n'
         11        DO_ICALL                                         $14     
         12        CAST                                          4  ~15     !1
         13        SUB                                              ~16     $14, ~15
         14        ASSIGN                                                   !4, ~16
    7    15        INIT_FCALL                                               'date'
         16        SEND_VAL                                                 'j'
         17        DO_ICALL                                         $18     
         18        CAST                                          4  ~19     !2
         19        SUB                                              ~20     $18, ~19
         20        ASSIGN                                                   !5, ~20
    8    21        IS_SMALLER                                               !5, 0
         22      > JMPZ                                                     ~22, ->29
    9    23    >   INIT_FCALL                                               'date'
         24        SEND_VAL                                                 't'
         25        DO_ICALL                                         $23     
         26        ASSIGN_OP                                     1  ~24     !5, $23
         27        ASSIGN                                                   !5, ~24
   10    28        PRE_DEC                                                  !4
   12    29    >   IS_SMALLER                                               !4, 0
         30      > JMPZ                                                     ~27, ->33
   13    31    >   ASSIGN_OP                                     1          !4, 12
   14    32        PRE_DEC                                                  !3
   16    33    >   CONCAT                                           ~30     !3, '%2F'
         34        CONCAT                                           ~31     ~30, !4
         35        CONCAT                                           ~32     ~31, '%2F'
         36        CONCAT                                           ~33     ~32, !5
         37        ASSIGN                                                   !6, ~33
   17    38        ECHO                                                     !6
         39      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.12 ms | 1396 KiB | 15 Q