3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo $phpdate = strtotime('+2 day'); echo PHP_EOL; echo $mysqldate = date('Y-m-d H:i:s', $phpdate); echo PHP_EOL; $last_access = $phpdate; $now = time(); echo $last_midnight = $now - ($now % (24*60*60)); echo PHP_EOL; echo strtotime('today'); echo PHP_EOL; function friendlyDate($timestamp) { if ((($t1 = floor($timestamp / 86400)) < ($t2 = floor(time() / 86400)) - 2) || $t1 > $t2) return date("M d Y, h:iA", $timestamp); elseif ($t1 == $t2 - 1) return "Yesterday, " . date("h:iA", $timestamp); elseif ($t1 == $t2) return "Today, " . date("h:iA", $timestamp); } echo friendlyDate($phpdate); ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/or8Lv
function name:  (null)
number of ops:  32
compiled vars:  !0 = $phpdate, !1 = $mysqldate, !2 = $last_access, !3 = $now, !4 = $last_midnight
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   INIT_FCALL                                               'strtotime'
          1        SEND_VAL                                                 '%2B2+day'
          2        DO_ICALL                                         $5      
          3        ASSIGN                                           ~6      !0, $5
          4        ECHO                                                     ~6
    5     5        ECHO                                                     '%0A'
    6     6        INIT_FCALL                                               'date'
          7        SEND_VAL                                                 'Y-m-d+H%3Ai%3As'
          8        SEND_VAR                                                 !0
          9        DO_ICALL                                         $7      
         10        ASSIGN                                           ~8      !1, $7
         11        ECHO                                                     ~8
    7    12        ECHO                                                     '%0A'
   10    13        ASSIGN                                                   !2, !0
   13    14        INIT_FCALL                                               'time'
         15        DO_ICALL                                         $10     
         16        ASSIGN                                                   !3, $10
   15    17        MOD                                              ~12     !3, 86400
         18        SUB                                              ~13     !3, ~12
         19        ASSIGN                                           ~14     !4, ~13
         20        ECHO                                                     ~14
   16    21        ECHO                                                     '%0A'
   17    22        INIT_FCALL                                               'strtotime'
         23        SEND_VAL                                                 'today'
         24        DO_ICALL                                         $15     
         25        ECHO                                                     $15
   18    26        ECHO                                                     '%0A'
   29    27        INIT_FCALL                                               'friendlydate'
         28        SEND_VAR                                                 !0
         29        DO_FCALL                                      0  $16     
         30        ECHO                                                     $16
   32    31      > RETURN                                                   1

Function friendlydate:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 16, Position 2 = 18
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 25
Branch analysis from position: 19
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 35
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 43
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 43
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
filename:       /in/or8Lv
function name:  friendlyDate
number of ops:  44
compiled vars:  !0 = $timestamp, !1 = $t1, !2 = $t2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   20     0  E >   RECV                                             !0      
   21     1        INIT_FCALL                                               'floor'
          2        DIV                                              ~3      !0, 86400
          3        SEND_VAL                                                 ~3
          4        DO_ICALL                                         $4      
          5        ASSIGN                                           ~5      !1, $4
          6        INIT_FCALL                                               'floor'
          7        INIT_FCALL                                               'time'
          8        DO_ICALL                                         $6      
          9        DIV                                              ~7      $6, 86400
         10        SEND_VAL                                                 ~7
         11        DO_ICALL                                         $8      
         12        ASSIGN                                           ~9      !2, $8
         13        SUB                                              ~10     ~9, 2
         14        IS_SMALLER                                       ~11     ~5, ~10
         15      > JMPNZ_EX                                         ~11     ~11, ->18
         16    >   IS_SMALLER                                       ~12     !2, !1
         17        BOOL                                             ~11     ~12
         18    > > JMPZ                                                     ~11, ->25
   22    19    >   INIT_FCALL                                               'date'
         20        SEND_VAL                                                 'M+d+Y%2C+h%3AiA'
         21        SEND_VAR                                                 !0
         22        DO_ICALL                                         $13     
         23      > RETURN                                                   $13
         24*       JMP                                                      ->43
   23    25    >   SUB                                              ~14     !2, 1
         26        IS_EQUAL                                                 !1, ~14
         27      > JMPZ                                                     ~15, ->35
   24    28    >   INIT_FCALL                                               'date'
         29        SEND_VAL                                                 'h%3AiA'
         30        SEND_VAR                                                 !0
         31        DO_ICALL                                         $16     
         32        CONCAT                                           ~17     'Yesterday%2C+', $16
         33      > RETURN                                                   ~17
         34*       JMP                                                      ->43
   25    35    >   IS_EQUAL                                                 !1, !2
         36      > JMPZ                                                     ~18, ->43
   26    37    >   INIT_FCALL                                               'date'
         38        SEND_VAL                                                 'h%3AiA'
         39        SEND_VAR                                                 !0
         40        DO_ICALL                                         $19     
         41        CONCAT                                           ~20     'Today%2C+', $19
         42      > RETURN                                                   ~20
   27    43    > > RETURN                                                   null

End of function friendlydate

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150 ms | 1403 KiB | 22 Q