3v4l.org

run code in 300+ PHP versions simultaneously
<?php $filename = "2053839077_On_10_15_2014_By_d.willard@10_58_30 PM"; $r2 = "/(?P<phone>\d{10})_On_(?P<m>\d{1,2})_(?P<d>\d{1,2})_(?P<Y>\d{4})_By_.*@(?P<h>\d{1,2})_(?P<i>\d{1,2})_(?P<s>\d{1,2}) (?P<ampm>[AM|PM]{2})/"; if (preg_match($r2, $filename, $bits)) { $phone = $bits['phone']; $hour = $bits['h']; if ($bits['ampm'] == 'PM') { $hour += 12; } $year = $bits['Y']; $month = sprintf('%02s', $bits['m']); $day = sprintf('%02s', $bits['d']); $hour = sprintf('%02s', $hour); $min = sprintf('%02s', $bits['i']); $sec = sprintf('%02s', $bits['s']); $timestamp = "$year-$month-$day $hour:$min:$sec"; } echo $phone.PHP_EOL; echo $timestamp.PHP_EOL; echo $bits['ampm']; ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 59
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 16
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
Branch analysis from position: 59
filename:       /in/iEJZP
function name:  (null)
number of ops:  66
compiled vars:  !0 = $filename, !1 = $r2, !2 = $bits, !3 = $phone, !4 = $hour, !5 = $year, !6 = $month, !7 = $day, !8 = $min, !9 = $sec, !10 = $timestamp
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '2053839077_On_10_15_2014_By_d.willard%4010_58_30+PM'
    5     1        ASSIGN                                                   !1, '%2F%28%3FP%3Cphone%3E%5Cd%7B10%7D%29_On_%28%3FP%3Cm%3E%5Cd%7B1%2C2%7D%29_%28%3FP%3Cd%3E%5Cd%7B1%2C2%7D%29_%28%3FP%3CY%3E%5Cd%7B4%7D%29_By_.%2A%40%28%3FP%3Ch%3E%5Cd%7B1%2C2%7D%29_%28%3FP%3Ci%3E%5Cd%7B1%2C2%7D%29_%28%3FP%3Cs%3E%5Cd%7B1%2C2%7D%29+%28%3FP%3Campm%3E%5BAM%7CPM%5D%7B2%7D%29%2F'
    7     2        INIT_FCALL                                               'preg_match'
          3        SEND_VAR                                                 !1
          4        SEND_VAR                                                 !0
          5        SEND_REF                                                 !2
          6        DO_ICALL                                         $13     
          7      > JMPZ                                                     $13, ->59
    8     8    >   FETCH_DIM_R                                      ~14     !2, 'phone'
          9        ASSIGN                                                   !3, ~14
    9    10        FETCH_DIM_R                                      ~16     !2, 'h'
         11        ASSIGN                                                   !4, ~16
   10    12        FETCH_DIM_R                                      ~18     !2, 'ampm'
         13        IS_EQUAL                                                 ~18, 'PM'
         14      > JMPZ                                                     ~19, ->16
   11    15    >   ASSIGN_OP                                     1          !4, 12
   13    16    >   FETCH_DIM_R                                      ~21     !2, 'Y'
         17        ASSIGN                                                   !5, ~21
   14    18        INIT_FCALL                                               'sprintf'
         19        SEND_VAL                                                 '%2502s'
         20        FETCH_DIM_R                                      ~23     !2, 'm'
         21        SEND_VAL                                                 ~23
         22        DO_ICALL                                         $24     
         23        ASSIGN                                                   !6, $24
   15    24        INIT_FCALL                                               'sprintf'
         25        SEND_VAL                                                 '%2502s'
         26        FETCH_DIM_R                                      ~26     !2, 'd'
         27        SEND_VAL                                                 ~26
         28        DO_ICALL                                         $27     
         29        ASSIGN                                                   !7, $27
   16    30        INIT_FCALL                                               'sprintf'
         31        SEND_VAL                                                 '%2502s'
         32        SEND_VAR                                                 !4
         33        DO_ICALL                                         $29     
         34        ASSIGN                                                   !4, $29
   17    35        INIT_FCALL                                               'sprintf'
         36        SEND_VAL                                                 '%2502s'
         37        FETCH_DIM_R                                      ~31     !2, 'i'
         38        SEND_VAL                                                 ~31
         39        DO_ICALL                                         $32     
         40        ASSIGN                                                   !8, $32
   18    41        INIT_FCALL                                               'sprintf'
         42        SEND_VAL                                                 '%2502s'
         43        FETCH_DIM_R                                      ~34     !2, 's'
         44        SEND_VAL                                                 ~34
         45        DO_ICALL                                         $35     
         46        ASSIGN                                                   !9, $35
   19    47        ROPE_INIT                                    11  ~38     !5
         48        ROPE_ADD                                      1  ~38     ~38, '-'
         49        ROPE_ADD                                      2  ~38     ~38, !6
         50        ROPE_ADD                                      3  ~38     ~38, '-'
         51        ROPE_ADD                                      4  ~38     ~38, !7
         52        ROPE_ADD                                      5  ~38     ~38, '+'
         53        ROPE_ADD                                      6  ~38     ~38, !4
         54        ROPE_ADD                                      7  ~38     ~38, '%3A'
         55        ROPE_ADD                                      8  ~38     ~38, !8
         56        ROPE_ADD                                      9  ~38     ~38, '%3A'
         57        ROPE_END                                     10  ~37     ~38, !9
         58        ASSIGN                                                   !10, ~37
   22    59    >   CONCAT                                           ~45     !3, '%0A'
         60        ECHO                                                     ~45
   23    61        CONCAT                                           ~46     !10, '%0A'
         62        ECHO                                                     ~46
   24    63        FETCH_DIM_R                                      ~47     !2, 'ampm'
         64        ECHO                                                     ~47
   25    65      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
163.41 ms | 1400 KiB | 17 Q