3v4l.org

run code in 300+ PHP versions simultaneously
<?php $year=2021; $month=7; $day=5; $index=-1; $period='day'; // strtotime test $dateString = $year . "-" . $month . "-" . $day . " -" . $index . " " . $period; $timestamp1 = strtotime("{$year}-{$month}-{$day} -{$index} {$period}"); // DateTime test $dateStamp = new \DateTime("{$year}-{$month}-{$day}"); $dateStamp->modify("-{$index} {$period}"); $timestamp2 = $dateStamp->getTimeStamp(); echo $dateString . PHP_EOL; echo "strtotime: " . $timestamp1 . PHP_EOL; echo "DateTime: " . $timestamp2;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fNR2X
function name:  (null)
number of ops:  54
compiled vars:  !0 = $year, !1 = $month, !2 = $day, !3 = $index, !4 = $period, !5 = $dateString, !6 = $timestamp1, !7 = $dateStamp, !8 = $timestamp2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 2021
    3     1        ASSIGN                                                   !1, 7
    4     2        ASSIGN                                                   !2, 5
    5     3        ASSIGN                                                   !3, -1
    6     4        ASSIGN                                                   !4, 'day'
    9     5        CONCAT                                           ~14     !0, '-'
          6        CONCAT                                           ~15     ~14, !1
          7        CONCAT                                           ~16     ~15, '-'
          8        CONCAT                                           ~17     ~16, !2
          9        CONCAT                                           ~18     ~17, '+-'
         10        CONCAT                                           ~19     ~18, !3
         11        CONCAT                                           ~20     ~19, '+'
         12        CONCAT                                           ~21     ~20, !4
         13        ASSIGN                                                   !5, ~21
   10    14        INIT_FCALL                                               'strtotime'
         15        ROPE_INIT                                     9  ~24     !0
         16        ROPE_ADD                                      1  ~24     ~24, '-'
         17        ROPE_ADD                                      2  ~24     ~24, !1
         18        ROPE_ADD                                      3  ~24     ~24, '-'
         19        ROPE_ADD                                      4  ~24     ~24, !2
         20        ROPE_ADD                                      5  ~24     ~24, '+-'
         21        ROPE_ADD                                      6  ~24     ~24, !3
         22        ROPE_ADD                                      7  ~24     ~24, '+'
         23        ROPE_END                                      8  ~23     ~24, !4
         24        SEND_VAL                                                 ~23
         25        DO_ICALL                                         $29     
         26        ASSIGN                                                   !6, $29
   13    27        NEW                                              $31     'DateTime'
         28        ROPE_INIT                                     5  ~33     !0
         29        ROPE_ADD                                      1  ~33     ~33, '-'
         30        ROPE_ADD                                      2  ~33     ~33, !1
         31        ROPE_ADD                                      3  ~33     ~33, '-'
         32        ROPE_END                                      4  ~32     ~33, !2
         33        SEND_VAL_EX                                              ~32
         34        DO_FCALL                                      0          
         35        ASSIGN                                                   !7, $31
   14    36        INIT_METHOD_CALL                                         !7, 'modify'
         37        ROPE_INIT                                     4  ~39     '-'
         38        ROPE_ADD                                      1  ~39     ~39, !3
         39        ROPE_ADD                                      2  ~39     ~39, '+'
         40        ROPE_END                                      3  ~38     ~39, !4
         41        SEND_VAL_EX                                              ~38
         42        DO_FCALL                                      0          
   15    43        INIT_METHOD_CALL                                         !7, 'getTimeStamp'
         44        DO_FCALL                                      0  $42     
         45        ASSIGN                                                   !8, $42
   17    46        CONCAT                                           ~44     !5, '%0A'
         47        ECHO                                                     ~44
   18    48        CONCAT                                           ~45     'strtotime%3A+', !6
         49        CONCAT                                           ~46     ~45, '%0A'
         50        ECHO                                                     ~46
   19    51        CONCAT                                           ~47     'DateTime%3A+', !8
         52        ECHO                                                     ~47
   20    53      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
138.88 ms | 1002 KiB | 14 Q