3v4l.org

run code in 500+ PHP versions simultaneously
<?php $startDate = '2022-09-15 01:01:01'; $endDate = '2022-09-15 02:02:02'; $startTime = '14:48:40'; $endTime = '14:48:45'; function diffInSeconds($startDate, $endDate, $startTime, $endTime) { $startDate = (new DateTime($startDate))->setTime( ($startTime = explode(':', $startTime))[0], $startTime[1], $startTime[2] ); $endDate = (new DateTime($endDate))->setTime( ($endTime = explode(':', $endTime))[0], $endTime[1], $endTime[2] ); return abs($endDate->getTimestamp() - $startDate->getTimestamp()); } var_dump(diffInSeconds($startDate, $endDate, $startTime, $endTime));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/2Cl6k
function name:  (null)
number of ops:  14
compiled vars:  !0 = $startDate, !1 = $endDate, !2 = $startTime, !3 = $endTime
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                       !0, '2022-09-15+01%3A01%3A01'
    3     1        ASSIGN                                                       !1, '2022-09-15+02%3A02%3A02'
    4     2        ASSIGN                                                       !2, '14%3A48%3A40'
    5     3        ASSIGN                                                       !3, '14%3A48%3A45'
   22     4        INIT_FCALL                                                   'var_dump'
          5        INIT_FCALL                                                   'diffinseconds'
          6        SEND_VAR                                                     !0
          7        SEND_VAR                                                     !1
          8        SEND_VAR                                                     !2
          9        SEND_VAR                                                     !3
         10        DO_FCALL                                          0  $8      
         11        SEND_VAR                                                     $8
         12        DO_ICALL                                                     
         13      > RETURN                                                       1

Function diffinseconds:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/2Cl6k
function name:  diffInSeconds
number of ops:  54
compiled vars:  !0 = $startDate, !1 = $endDate, !2 = $startTime, !3 = $endTime
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    7     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
          2        RECV                                                 !2      
          3        RECV                                                 !3      
    9     4        NEW                                                  $4      'DateTime'
          5        SEND_VAR_EX                                                  !0
          6        DO_FCALL                                          0          
          7        INIT_METHOD_CALL                                             $4, 'setTime'
          8        CHECK_FUNC_ARG                                               
   10     9        INIT_FCALL                                                   'explode'
         10        SEND_VAL                                                     '%3A'
         11        SEND_VAR                                                     !2
         12        DO_ICALL                                             $6      
         13        ASSIGN                                               ~7      !2, $6
         14        FETCH_DIM_FUNC_ARG                                   $8      ~7, 0
         15        SEND_FUNC_ARG                                                $8
         16        CHECK_FUNC_ARG                                               
   11    17        FETCH_DIM_FUNC_ARG                                   $9      !2, 1
         18        SEND_FUNC_ARG                                                $9
         19        CHECK_FUNC_ARG                                               
   12    20        FETCH_DIM_FUNC_ARG                                   $10     !2, 2
         21        SEND_FUNC_ARG                                                $10
    9    22        DO_FCALL                                          0  $11     
         23        ASSIGN                                                       !0, $11
   14    24        NEW                                                  $13     'DateTime'
         25        SEND_VAR_EX                                                  !1
         26        DO_FCALL                                          0          
         27        INIT_METHOD_CALL                                             $13, 'setTime'
         28        CHECK_FUNC_ARG                                               
   15    29        INIT_FCALL                                                   'explode'
         30        SEND_VAL                                                     '%3A'
         31        SEND_VAR                                                     !3
         32        DO_ICALL                                             $15     
         33        ASSIGN                                               ~16     !3, $15
         34        FETCH_DIM_FUNC_ARG                                   $17     ~16, 0
         35        SEND_FUNC_ARG                                                $17
         36        CHECK_FUNC_ARG                                               
   16    37        FETCH_DIM_FUNC_ARG                                   $18     !3, 1
         38        SEND_FUNC_ARG                                                $18
         39        CHECK_FUNC_ARG                                               
   17    40        FETCH_DIM_FUNC_ARG                                   $19     !3, 2
         41        SEND_FUNC_ARG                                                $19
   14    42        DO_FCALL                                          0  $20     
         43        ASSIGN                                                       !1, $20
   19    44        INIT_FCALL                                                   'abs'
         45        INIT_METHOD_CALL                                             !1, 'getTimestamp'
         46        DO_FCALL                                          0  $22     
         47        INIT_METHOD_CALL                                             !0, 'getTimestamp'
         48        DO_FCALL                                          0  $23     
         49        SUB                                                  ~24     $22, $23
         50        SEND_VAL                                                     ~24
         51        DO_ICALL                                             $25     
         52      > RETURN                                                       $25
   20    53*     > RETURN                                                       null

End of function diffinseconds

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
167.25 ms | 1495 KiB | 17 Q