3v4l.org

run code in 300+ PHP versions simultaneously
<?php $times = array ( 0 => '09:00', 1 => '01:08', 2 => '07:26', 3 => '69:25', 4 => '00:20', 5 => '09:04', 6 => '03:26', 7 => '06:54', 8 => '08:24', 9 => '01:37', 10 => '10:09', 11 => '02:56', 12 => '06:23', 13 => '06:23', 14 => '08:50', 15 => '06:22', 16 => '06:21', 17 => '06:16', 18 => '09:00', 19 => '06:14', 20 => '06:14', 21 => '06:13', 22 => '06:12', 23 => '06:08', 24 => '06:08', 25 => '06:08', 26 => '06:07', 27 => '09:00', 28 => '01:01', 29 => '01:01', 30 => '01:00', 31 => '00:59', 32 => '07:54', 33 => '07:54', 34 => '07:52', 35 => '07:52', 36 => '00:58', 37 => '00:57', 38 => '08:00', 39 => '08:00', 40 => '07:58', 41 => '07:56', 42 => '07:56', 43 => '260:46', 44 => '01:04', 45 => '01:04', 46 => '01:05', 47 => '01:07', 48 => '07:26', 49 => '09:00', 50 => '142:54', 51 => '59:19', 52 => '13:09', 53 => '17:11', 54 => '00:53', 55 => '54:15', 56 => '62:52', 57 => '06:35', 58 => '04:44', 59 => '05:22', 60 => '05:22', 61 => '05:21', 62 => '05:14', 63 => '05:13', 64 => '05:12', 65 => '05:12', 66 => '05:11', 67 => '05:06', 68 => '05:08', 69 => '05:08', 70 => '05:10', 71 => '05:07', 72 => '05:06', 73 => '05:03', 74 => '05:03', 75 => '04:59', 76 => '04:58', 77 => '05:00', 78 => '02:01', 79 => '02:02', 80 => '02:02', 81 => '02:02', 82 => '02:03', 83 => '02:04', 84 => '02:05', 85 => '02:05', 86 => '02:07', 87 => '02:08', 88 => '02:08', 89 => '02:09', 90 => '02:09', 91 => '02:09', 92 => '02:10', 93 => '02:11', 94 => '02:11', 95 => '06:21', 96 => '02:16', 97 => '04:05', 98 => '09:00', 99 => '09:00', 100 => '00:34', 101 => '03:13', 102 => '03:46', 103 => '00:16', 104 => '02:35', 105 => '01:19', 106 => '04:32', 107 => '00:30', 108 => '03:36', 109 => '06:53', 110 => '02:41', 111 => '135:58', 112 => '01:35', 113 => '09:04', 114 => '00:11', 115 => '07:39', 116 => '00:14', 117 => '16:00', 118 => '94:00', 119 => '03:40', 120 => '00:21', 121 => '03:47', 122 => '02:00', 123 => '06:54', 124 => '74:12', 125 => '00:12', 126 => '00:39', 127 => '03:37', 128 => '00:05', 129 => '00:04', 130 => '06:50', 131 => '05:03', 132 => '53:44', 133 => '01:38', 134 => '00:16', 135 => '44:18', 136 => '00:01', 137 => '10:06', 138 => '00:35', 139 => '02:22', 140 => '01:00', 141 => '00:04', 142 => '00:21', 143 => '00:57' ); $total_minutes = 0; foreach ($times as $time) { list($hours, $minutes) = explode(':', $time); $total_minutes += $hours * 60 + $minutes; } $average_minutes = $total_minutes / count($times); echo "Average time is " . round($average_minutes / 60, 2) . " hours\n"; $average_hours = floor($average_minutes / 60); $average_minutes = $average_minutes % 60; echo "Average time is " . str_pad($average_hours, 2, 0, STR_PAD_LEFT) . ":" . str_pad($average_minutes, 2, 0, STR_PAD_LEFT) . "\n";
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 17
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 17
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
filename:       /in/EZgJQ
function name:  (null)
number of ops:  54
compiled vars:  !0 = $times, !1 = $total_minutes, !2 = $time, !3 = $hours, !4 = $minutes, !5 = $average_minutes, !6 = $average_hours
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
  150     1        ASSIGN                                                   !1, 0
  151     2      > FE_RESET_R                                       $9      !0, ->17
          3    > > FE_FETCH_R                                               $9, !2, ->17
  152     4    >   INIT_FCALL                                               'explode'
          5        SEND_VAL                                                 '%3A'
          6        SEND_VAR                                                 !2
          7        DO_ICALL                                         $10     
          8        FETCH_LIST_R                                     $11     $10, 0
          9        ASSIGN                                                   !3, $11
         10        FETCH_LIST_R                                     $13     $10, 1
         11        ASSIGN                                                   !4, $13
         12        FREE                                                     $10
  153    13        MUL                                              ~15     !3, 60
         14        ADD                                              ~16     ~15, !4
         15        ASSIGN_OP                                     1          !1, ~16
  151    16      > JMP                                                      ->3
         17    >   FE_FREE                                                  $9
  155    18        COUNT                                            ~18     !0
         19        DIV                                              ~19     !1, ~18
         20        ASSIGN                                                   !5, ~19
  156    21        INIT_FCALL                                               'round'
         22        DIV                                              ~21     !5, 60
         23        SEND_VAL                                                 ~21
         24        SEND_VAL                                                 2
         25        DO_ICALL                                         $22     
         26        CONCAT                                           ~23     'Average+time+is+', $22
         27        CONCAT                                           ~24     ~23, '+hours%0A'
         28        ECHO                                                     ~24
  157    29        INIT_FCALL                                               'floor'
         30        DIV                                              ~25     !5, 60
         31        SEND_VAL                                                 ~25
         32        DO_ICALL                                         $26     
         33        ASSIGN                                                   !6, $26
  158    34        MOD                                              ~28     !5, 60
         35        ASSIGN                                                   !5, ~28
  159    36        INIT_FCALL                                               'str_pad'
         37        SEND_VAR                                                 !6
         38        SEND_VAL                                                 2
         39        SEND_VAL                                                 0
         40        SEND_VAL                                                 0
         41        DO_ICALL                                         $30     
         42        CONCAT                                           ~31     'Average+time+is+', $30
         43        CONCAT                                           ~32     ~31, '%3A'
         44        INIT_FCALL                                               'str_pad'
         45        SEND_VAR                                                 !5
         46        SEND_VAL                                                 2
         47        SEND_VAL                                                 0
         48        SEND_VAL                                                 0
         49        DO_ICALL                                         $33     
         50        CONCAT                                           ~34     ~32, $33
         51        CONCAT                                           ~35     ~34, '%0A'
         52        ECHO                                                     ~35
         53      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
152.38 ms | 1018 KiB | 17 Q