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, , , , $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 = 45
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 45
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 45
filename:       /in/N798U
function name:  (null)
number of ops:  50
compiled vars:  !0 = $dataArray, !1 = $row, !2 = $group, !3 = $t, !4 = $id, !5 = $result
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, <array>
   14     1      > FE_RESET_R                                           $7      !0, ->45
          2    > > FE_FETCH_R                                                   $7, !1, ->45
   15     3    >   INIT_FCALL                                                   'explode'
          4        SEND_VAL                                                     '+'
          5        SEND_VAR                                                     !1
          6        DO_ICALL                                             $8      
          7        FETCH_LIST_R                                         $9      $8, 0
          8        ASSIGN                                                       !2, $9
          9        FETCH_LIST_R                                         $11     $8, 4
         10        ASSIGN                                                       !3, $11
         11        FETCH_LIST_R                                         $13     $8, 5
         12        ASSIGN                                                       !4, $13
         13        FREE                                                         $8
   16    14        FETCH_DIM_W                                          $15     !5, !2
         15        FETCH_DIM_W                                          $16     $15, 'user'
         16        FETCH_DIM_W                                          $17     $16, !4
         17        ASSIGN_DIM                                                   $17
         18        OP_DATA                                                      !3
   17    19        FETCH_DIM_IS                                         ~19     !5, !2
         20        FETCH_DIM_IS                                         ~20     ~19, 'first'
         21        COALESCE                                             ~21     ~20
         22        FETCH_DIM_W                                          $22     !5, !2
         23        ASSIGN_DIM                                           ~23     $22, 'first'
         24        OP_DATA                                                      !3
         25        QM_ASSIGN                                            ~21     ~23
         26        FREE                                                         ~21
   18    27        FETCH_DIM_W                                          $24     !5, !2
         28        ASSIGN_DIM                                                   $24, 'last'
         29        OP_DATA                                                      !3
   19    30        FETCH_DIM_R                                          ~28     !5, !2
         31        FETCH_DIM_R                                          ~29     ~28, 'user'
         32        COUNT                                                ~30     ~29
         33        FETCH_DIM_W                                          $26     !5, !2
         34        ASSIGN_DIM                                                   $26, 'totaluser'
         35        OP_DATA                                                      ~30
   20    36        FETCH_DIM_IS                                         ~33     !5, !2
         37        FETCH_DIM_IS                                         ~34     ~33, 'totalAccess'
         38        COALESCE                                             ~35     ~34
         39        QM_ASSIGN                                            ~35     0
         40        ADD                                                  ~36     ~35, 1
         41        FETCH_DIM_W                                          $31     !5, !2
         42        ASSIGN_DIM                                                   $31, 'totalAccess'
         43        OP_DATA                                                      ~36
   14    44      > JMP                                                          ->2
         45    >   FE_FREE                                                      $7
   22    46        INIT_FCALL                                                   'var_export'
         47        SEND_VAR                                                     !5
         48        DO_ICALL                                                     
         49      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
167.76 ms | 1887 KiB | 15 Q