3v4l.org

run code in 300+ PHP versions simultaneously
<?php function pluralize( $count, $text ) { return $count . ( ( $count == 1 ) ? ( " $text" ) : ( " ${text}s" ) ); } $date = new \DateTime('2015-05-24 00:00:00'); $time = new \DateTime('0000-00-00 21:22:00'); $pickUpDateTime = new \DateTime(); $pickUpDateTime->setDate($date->format('Y'), $date->format('m'), $date->format('d')); $pickUpDateTime->setTime($time->format('H'), $time->format('i'), $time->format('s')); $now = new DateTime("now"); $interval = date_diff($now, $pickUpDateTime); if ( $v = $interval->d >= 1 ) echo pluralize( $interval->d, 'day' ) ;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 52, Position 2 = 58
Branch analysis from position: 52
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 58
filename:       /in/vhuAd
function name:  (null)
number of ops:  59
compiled vars:  !0 = $date, !1 = $time, !2 = $pickUpDateTime, !3 = $now, !4 = $interval, !5 = $v
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   NEW                                              $6      'DateTime'
          1        SEND_VAL_EX                                              '2015-05-24+00%3A00%3A00'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $6
    9     4        NEW                                              $9      'DateTime'
          5        SEND_VAL_EX                                              '0000-00-00+21%3A22%3A00'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $9
   11     8        NEW                                              $12     'DateTime'
          9        DO_FCALL                                      0          
         10        ASSIGN                                                   !2, $12
   12    11        INIT_METHOD_CALL                                         !2, 'setDate'
         12        INIT_METHOD_CALL                                         !0, 'format'
         13        SEND_VAL_EX                                              'Y'
         14        DO_FCALL                                      0  $15     
         15        SEND_VAR_NO_REF_EX                                       $15
         16        INIT_METHOD_CALL                                         !0, 'format'
         17        SEND_VAL_EX                                              'm'
         18        DO_FCALL                                      0  $16     
         19        SEND_VAR_NO_REF_EX                                       $16
         20        INIT_METHOD_CALL                                         !0, 'format'
         21        SEND_VAL_EX                                              'd'
         22        DO_FCALL                                      0  $17     
         23        SEND_VAR_NO_REF_EX                                       $17
         24        DO_FCALL                                      0          
   13    25        INIT_METHOD_CALL                                         !2, 'setTime'
         26        INIT_METHOD_CALL                                         !1, 'format'
         27        SEND_VAL_EX                                              'H'
         28        DO_FCALL                                      0  $19     
         29        SEND_VAR_NO_REF_EX                                       $19
         30        INIT_METHOD_CALL                                         !1, 'format'
         31        SEND_VAL_EX                                              'i'
         32        DO_FCALL                                      0  $20     
         33        SEND_VAR_NO_REF_EX                                       $20
         34        INIT_METHOD_CALL                                         !1, 'format'
         35        SEND_VAL_EX                                              's'
         36        DO_FCALL                                      0  $21     
         37        SEND_VAR_NO_REF_EX                                       $21
         38        DO_FCALL                                      0          
   15    39        NEW                                              $23     'DateTime'
         40        SEND_VAL_EX                                              'now'
         41        DO_FCALL                                      0          
         42        ASSIGN                                                   !3, $23
   17    43        INIT_FCALL                                               'date_diff'
         44        SEND_VAR                                                 !3
         45        SEND_VAR                                                 !2
         46        DO_ICALL                                         $26     
         47        ASSIGN                                                   !4, $26
   18    48        FETCH_OBJ_R                                      ~28     !4, 'd'
         49        IS_SMALLER_OR_EQUAL                              ~29     1, ~28
         50        ASSIGN                                           ~30     !5, ~29
         51      > JMPZ                                                     ~30, ->58
         52    >   INIT_FCALL                                               'pluralize'
         53        FETCH_OBJ_R                                      ~31     !4, 'd'
         54        SEND_VAL                                                 ~31
         55        SEND_VAL                                                 'day'
         56        DO_FCALL                                      0  $32     
         57        ECHO                                                     $32
         58    > > RETURN                                                   1

Function pluralize:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 12
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/vhuAd
function name:  pluralize
number of ops:  15
compiled vars:  !0 = $count, !1 = $text
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
          1        RECV                                             !1      
    4     2        IS_EQUAL                                                 !0, 1
          3      > JMPZ                                                     ~2, ->8
          4    >   NOP                                                      
          5        FAST_CONCAT                                      ~3      '+', !1
          6        QM_ASSIGN                                        ~4      ~3
          7      > JMP                                                      ->12
          8    >   ROPE_INIT                                     3  ~6      '+'
          9        ROPE_ADD                                      1  ~6      ~6, !1
         10        ROPE_END                                      2  ~5      ~6, 's'
         11        QM_ASSIGN                                        ~4      ~5
         12    >   CONCAT                                           ~8      !0, ~4
         13      > RETURN                                                   ~8
    5    14*     > RETURN                                                   null

End of function pluralize

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
172.23 ms | 1403 KiB | 16 Q