3v4l.org

run code in 500+ PHP versions simultaneously
<?php $datetimes = [ '2003-01-28 01:23:45', '2007-04-04', '0000-00-00 00:00:00', '0000-00-00', '', null ]; foreach ($datetimes as $datetime) { sscanf($datetime, '%s', $sscanf); var_export( [ 'substr' => substr($datetime, 0, 10), 'explode' => explode(' ', $datetime, 2)[0], 'sscanf' => $sscanf, 'preg_replace' => preg_replace('/ .+/', '', $datetime), 'format' => (new \DateTime($datetime))->format('Y-m-d'), 'date&strtotime' => date("Y-m-d", strtotime($datetime)), 'strtok' => strtok($datetime, ' '), 'strstr' => strstr($datetime . ' ', ' ', true), 'substr_replace' => substr_replace($datetime, '', 10), 'preg_filter' => preg_filter('/.{10}\K.*/', '', $datetime), ] ); unset($sscanf); echo "\n---\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 64
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 64
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 64
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 64
filename:       /in/FAImY
function name:  (null)
number of ops:  66
compiled vars:  !0 = $datetimes, !1 = $datetime, !2 = $sscanf
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, <array>
   12     1      > FE_RESET_R                                           $4      !0, ->64
          2    > > FE_FETCH_R                                                   $4, !1, ->64
   13     3    >   INIT_FCALL                                                   'sscanf'
          4        SEND_VAR                                                     !1
          5        SEND_VAL                                                     '%25s'
          6        SEND_REF                                                     !2
          7        DO_ICALL                                                     
   14     8        INIT_FCALL                                                   'var_export'
   16     9        FRAMELESS_ICALL_3                substr              ~6      !1, 0
         10        OP_DATA                                                      10
         11        INIT_ARRAY                                           ~7      ~6, 'substr'
   17    12        INIT_FCALL                                                   'explode'
         13        SEND_VAL                                                     '+'
         14        SEND_VAR                                                     !1
         15        SEND_VAL                                                     2
         16        DO_ICALL                                             $8      
         17        FETCH_DIM_R                                          ~9      $8, 0
         18        ADD_ARRAY_ELEMENT                                    ~7      ~9, 'explode'
   18    19        ADD_ARRAY_ELEMENT                                    ~7      !2, 'sscanf'
   19    20        FRAMELESS_ICALL_3                preg_replace        ~10     '%2F+.%2B%2F', ''
         21        OP_DATA                                                      !1
         22        ADD_ARRAY_ELEMENT                                    ~7      ~10, 'preg_replace'
   20    23        NEW                                                  $11     'DateTime'
         24        SEND_VAR_EX                                                  !1
         25        DO_FCALL                                          0          
         26        INIT_METHOD_CALL                                             $11, 'format'
         27        SEND_VAL_EX                                                  'Y-m-d'
         28        DO_FCALL                                          0  $13     
         29        ADD_ARRAY_ELEMENT                                    ~7      $13, 'format'
   21    30        INIT_FCALL                                                   'date'
         31        SEND_VAL                                                     'Y-m-d'
         32        INIT_FCALL                                                   'strtotime'
         33        SEND_VAR                                                     !1
         34        DO_ICALL                                             $14     
         35        SEND_VAR                                                     $14
         36        DO_ICALL                                             $15     
         37        ADD_ARRAY_ELEMENT                                    ~7      $15, 'date%26strtotime'
   22    38        INIT_FCALL                                                   'strtok'
         39        SEND_VAR                                                     !1
         40        SEND_VAL                                                     '+'
         41        DO_ICALL                                             $16     
         42        ADD_ARRAY_ELEMENT                                    ~7      $16, 'strtok'
   23    43        CONCAT                                               ~17     !1, '+'
         44        FRAMELESS_ICALL_3                strstr              ~18     ~17, '+'
         45        OP_DATA                                                      <true>
         46        ADD_ARRAY_ELEMENT                                    ~7      ~18, 'strstr'
   24    47        INIT_FCALL                                                   'substr_replace'
         48        SEND_VAR                                                     !1
         49        SEND_VAL                                                     ''
         50        SEND_VAL                                                     10
         51        DO_ICALL                                             $19     
         52        ADD_ARRAY_ELEMENT                                    ~7      $19, 'substr_replace'
   25    53        INIT_FCALL                                                   'preg_filter'
         54        SEND_VAL                                                     '%2F.%7B10%7D%5CK.%2A%2F'
         55        SEND_VAL                                                     ''
         56        SEND_VAR                                                     !1
         57        DO_ICALL                                             $20     
         58        ADD_ARRAY_ELEMENT                                    ~7      $20, 'preg_filter'
         59        SEND_VAL                                                     ~7
   14    60        DO_ICALL                                                     
   28    61        UNSET_CV                                                     !2
   29    62        ECHO                                                         '%0A---%0A'
   12    63      > JMP                                                          ->2
         64    >   FE_FREE                                                      $4
   30    65      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
165.11 ms | 2015 KiB | 21 Q