3v4l.org

run code in 300+ PHP versions simultaneously
<?php $d = new DateTime('2011-01-15 00:00:00'); //$d = mktime(0, 0, 0, 1, 15, 2011); $foo = strtotime('-1 month', $d); $current_day = date('d', $foo); $num_days = date('t', $foo); $day_offset = $num_days - $current_day; //echo "\n " . $day_offset . "\n"; //foo = strtotime('1 day', $foo); $foo = strtotime(''.$day_offset .' day', $foo); echo "\n Date: " . date("Y-m-d h:i:sa", $foo) . "\n"; //$d = $d->modify('-1 month'); //$d = $d->modify('' . $day_offset . ' day'); //var_dump($d);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/WMTVN
function name:  (null)
number of ops:  36
compiled vars:  !0 = $d, !1 = $foo, !2 = $current_day, !3 = $num_days, !4 = $day_offset
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   NEW                                              $5      'DateTime'
          1        SEND_VAL_EX                                              '2011-01-15+00%3A00%3A00'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $5
    6     4        INIT_FCALL                                               'strtotime'
          5        SEND_VAL                                                 '-1+month'
          6        SEND_VAR                                                 !0
          7        DO_ICALL                                         $8      
          8        ASSIGN                                                   !1, $8
    7     9        INIT_FCALL                                               'date'
         10        SEND_VAL                                                 'd'
         11        SEND_VAR                                                 !1
         12        DO_ICALL                                         $10     
         13        ASSIGN                                                   !2, $10
    8    14        INIT_FCALL                                               'date'
         15        SEND_VAL                                                 't'
         16        SEND_VAR                                                 !1
         17        DO_ICALL                                         $12     
         18        ASSIGN                                                   !3, $12
    9    19        SUB                                              ~14     !3, !2
         20        ASSIGN                                                   !4, ~14
   12    21        INIT_FCALL                                               'strtotime'
         22        CONCAT                                           ~16     '', !4
         23        CONCAT                                           ~17     ~16, '+day'
         24        SEND_VAL                                                 ~17
         25        SEND_VAR                                                 !1
         26        DO_ICALL                                         $18     
         27        ASSIGN                                                   !1, $18
   13    28        INIT_FCALL                                               'date'
         29        SEND_VAL                                                 'Y-m-d+h%3Ai%3Asa'
         30        SEND_VAR                                                 !1
         31        DO_ICALL                                         $20     
         32        CONCAT                                           ~21     '%0A+Date%3A+', $20
         33        CONCAT                                           ~22     ~21, '%0A'
         34        ECHO                                                     ~22
   18    35      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
149.52 ms | 1396 KiB | 17 Q