3v4l.org

run code in 300+ 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), ] ); unset($sscanf); echo "\n---\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 61
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 61
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 61
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 61
filename:       /in/XrNPi
function name:  (null)
number of ops:  63
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, ->61
          2    > > FE_FETCH_R                                               $4, !1, ->61
   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        INIT_FCALL                                               'substr'
         10        SEND_VAR                                                 !1
         11        SEND_VAL                                                 0
         12        SEND_VAL                                                 10
         13        DO_ICALL                                         $6      
         14        INIT_ARRAY                                       ~7      $6, 'substr'
   17    15        INIT_FCALL                                               'explode'
         16        SEND_VAL                                                 '+'
         17        SEND_VAR                                                 !1
         18        SEND_VAL                                                 2
         19        DO_ICALL                                         $8      
         20        FETCH_DIM_R                                      ~9      $8, 0
         21        ADD_ARRAY_ELEMENT                                ~7      ~9, 'explode'
   18    22        ADD_ARRAY_ELEMENT                                ~7      !2, 'sscanf'
   19    23        INIT_FCALL                                               'preg_replace'
         24        SEND_VAL                                                 '%2F+.%2B%2F'
         25        SEND_VAL                                                 ''
         26        SEND_VAR                                                 !1
         27        DO_ICALL                                         $10     
         28        ADD_ARRAY_ELEMENT                                ~7      $10, 'preg_replace'
   20    29        NEW                                              $11     'DateTime'
         30        SEND_VAR_EX                                              !1
         31        DO_FCALL                                      0          
         32        INIT_METHOD_CALL                                         $11, 'format'
         33        SEND_VAL_EX                                              'Y-m-d'
         34        DO_FCALL                                      0  $13     
         35        ADD_ARRAY_ELEMENT                                ~7      $13, 'format'
   21    36        INIT_FCALL                                               'date'
         37        SEND_VAL                                                 'Y-m-d'
         38        INIT_FCALL                                               'strtotime'
         39        SEND_VAR                                                 !1
         40        DO_ICALL                                         $14     
         41        SEND_VAR                                                 $14
         42        DO_ICALL                                         $15     
         43        ADD_ARRAY_ELEMENT                                ~7      $15, 'date%26strtotime'
   22    44        INIT_FCALL                                               'strtok'
         45        SEND_VAR                                                 !1
         46        SEND_VAL                                                 '+'
         47        DO_ICALL                                         $16     
         48        ADD_ARRAY_ELEMENT                                ~7      $16, 'strtok'
   23    49        INIT_FCALL                                               'strstr'
         50        CONCAT                                           ~17     !1, '+'
         51        SEND_VAL                                                 ~17
         52        SEND_VAL                                                 '+'
         53        SEND_VAL                                                 <true>
         54        DO_ICALL                                         $18     
         55        ADD_ARRAY_ELEMENT                                ~7      $18, 'strstr'
         56        SEND_VAL                                                 ~7
   14    57        DO_ICALL                                                 
   26    58        UNSET_CV                                                 !2
   27    59        ECHO                                                     '%0A---%0A'
   12    60      > JMP                                                      ->2
         61    >   FE_FREE                                                  $4
   28    62      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.66 ms | 1016 KiB | 22 Q