3v4l.org

run code in 500+ PHP versions simultaneously
<?php $dataArray = [ 0 => "AAAAA 2023 01 25 01:04:00 ID:20fjrjeZZ", 1 => "AAAAA 2023 01 25 01:18:08 ID:13454B43A", 2 => "AAAAA 2023 01 25 02:00:02 ID:18f5hjeWe", 3 => "AAAAA 2023 01 25 04:10:13 ID:13454B43A", 4 => "BBBBB 2023 01 25 01:44:10 ID:Xj74320fj", 5 => "BBBBB 2023 01 25 07:08:58 ID:13454B43A", 6 => "BBBBB 2023 01 25 08:40:52 ID:Ftzkk800Y", 7 => "BBBBB 2023 01 25 14:10:13 ID:18f5hjeWe" ]; foreach ($dataArray as $row) { [$group, $y, $m, $d, $t, $id] = explode(' ', $row); $result[$group]['user'][$id][] = $t; $result[$group]['first'] ??= $t; $result[$group]['last'] = $t; $result[$group]['totaluser'] = count($result[$group]['user']); $result[$group]['totalAccess'] = ($result[$group]['totalAccess'] ?? 0) + 1; } var_export($result);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 51
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 51
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 51
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 51
filename:       /in/uBRLG
function name:  (null)
number of ops:  56
compiled vars:  !0 = $dataArray, !1 = $row, !2 = $group, !3 = $y, !4 = $m, !5 = $d, !6 = $t, !7 = $id, !8 = $result
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, <array>
   14     1      > FE_RESET_R                                           $10     !0, ->51
          2    > > FE_FETCH_R                                                   $10, !1, ->51
   15     3    >   INIT_FCALL                                                   'explode'
          4        SEND_VAL                                                     '+'
          5        SEND_VAR                                                     !1
          6        DO_ICALL                                             $11     
          7        FETCH_LIST_R                                         $12     $11, 0
          8        ASSIGN                                                       !2, $12
          9        FETCH_LIST_R                                         $14     $11, 1
         10        ASSIGN                                                       !3, $14
         11        FETCH_LIST_R                                         $16     $11, 2
         12        ASSIGN                                                       !4, $16
         13        FETCH_LIST_R                                         $18     $11, 3
         14        ASSIGN                                                       !5, $18
         15        FETCH_LIST_R                                         $20     $11, 4
         16        ASSIGN                                                       !6, $20
         17        FETCH_LIST_R                                         $22     $11, 5
         18        ASSIGN                                                       !7, $22
         19        FREE                                                         $11
   16    20        FETCH_DIM_W                                          $24     !8, !2
         21        FETCH_DIM_W                                          $25     $24, 'user'
         22        FETCH_DIM_W                                          $26     $25, !7
         23        ASSIGN_DIM                                                   $26
         24        OP_DATA                                                      !6
   17    25        FETCH_DIM_IS                                         ~28     !8, !2
         26        FETCH_DIM_IS                                         ~29     ~28, 'first'
         27        COALESCE                                             ~30     ~29
         28        FETCH_DIM_W                                          $31     !8, !2
         29        ASSIGN_DIM                                           ~32     $31, 'first'
         30        OP_DATA                                                      !6
         31        QM_ASSIGN                                            ~30     ~32
         32        FREE                                                         ~30
   18    33        FETCH_DIM_W                                          $33     !8, !2
         34        ASSIGN_DIM                                                   $33, 'last'
         35        OP_DATA                                                      !6
   19    36        FETCH_DIM_R                                          ~37     !8, !2
         37        FETCH_DIM_R                                          ~38     ~37, 'user'
         38        COUNT                                                ~39     ~38
         39        FETCH_DIM_W                                          $35     !8, !2
         40        ASSIGN_DIM                                                   $35, 'totaluser'
         41        OP_DATA                                                      ~39
   20    42        FETCH_DIM_IS                                         ~42     !8, !2
         43        FETCH_DIM_IS                                         ~43     ~42, 'totalAccess'
         44        COALESCE                                             ~44     ~43
         45        QM_ASSIGN                                            ~44     0
         46        ADD                                                  ~45     ~44, 1
         47        FETCH_DIM_W                                          $40     !8, !2
         48        ASSIGN_DIM                                                   $40, 'totalAccess'
         49        OP_DATA                                                      ~45
   14    50      > JMP                                                          ->2
         51    >   FE_FREE                                                      $10
   22    52        INIT_FCALL                                                   'var_export'
         53        SEND_VAR                                                     !8
         54        DO_ICALL                                                     
         55      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
165.78 ms | 1883 KiB | 15 Q