3v4l.org

run code in 500+ 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.5.0


preferences:
166.77 ms | 1781 KiB | 14 Q