3v4l.org

run code in 300+ PHP versions simultaneously
<?php $time_variant = array( 'group_a' => array( '0' => array( 'id_variant' => 122, 'name' => '3 hour 30 min', 'time' => 12600 ), '1' => array( 'id_variant' => 173, 'name' => '3 hour', 'time' => 10800 ), '2' => array( 'id_variant' => 271, 'name' => '1 hour', 'time' => 3600 ), ), 'group_b' => array( '0' => array( 'id_variant' => 107, 'name' => '1 hour 30 min', 'time' => 5400 ), '1' => array( 'id_variant' => 321, 'name' => '3 hour', 'time' => 10800 ), ), 'group_c' => array( '0' => array( 'id_variant' => 28, 'name' => '1 hour', 'time' => 3600 ), '1' => array( 'id_variant' => 98, 'name' => '3 hour', 'time' => 10800 ), '2' => array( 'id_variant' => 157, 'name' => '2 hour', 'time' => 7200 ), '3' => array( 'id_variant' => 158, 'name' => '1 hour 30 min', 'time' => 5400 ), ), ); $groupsCount = count( $time_variant ); foreach( $time_variant as $groupId => $groupArray ) { foreach( $groupArray as $groupChildId => $groupChildArray ) { $timeCountsArray[$groupChildArray['time']][$groupId] = $groupChildId; } } foreach( $timeCountsArray as $time => $groupIdsArray ) { if( count( $groupIdsArray ) >= $groupsCount ) { foreach( $groupIdsArray as $groupId => $groupChildId ) { $result[] = $time_variant[$groupId][$groupChildId]; } break; } } var_dump( $result );
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 16
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 16
Branch analysis from position: 5
2 jumps found. (Code = 77) Position 1 = 7, Position 2 = 14
Branch analysis from position: 7
2 jumps found. (Code = 78) Position 1 = 8, Position 2 = 14
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 14
Branch analysis from position: 16
2 jumps found. (Code = 77) Position 1 = 18, Position 2 = 34
Branch analysis from position: 18
2 jumps found. (Code = 78) Position 1 = 19, Position 2 = 34
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 33
Branch analysis from position: 23
2 jumps found. (Code = 77) Position 1 = 24, Position 2 = 31
Branch analysis from position: 24
2 jumps found. (Code = 78) Position 1 = 25, Position 2 = 31
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 31
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
Branch analysis from position: 34
Branch analysis from position: 34
Branch analysis from position: 16
filename:       /in/lgSv1
function name:  (null)
number of ops:  39
compiled vars:  !0 = $time_variant, !1 = $groupsCount, !2 = $groupArray, !3 = $groupId, !4 = $groupChildArray, !5 = $groupChildId, !6 = $timeCountsArray, !7 = $groupIdsArray, !8 = $time, !9 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
   57     1        COUNT                                            ~11     !0
          2        ASSIGN                                                   !1, ~11
   59     3      > FE_RESET_R                                       $13     !0, ->16
          4    > > FE_FETCH_R                                       ~14     $13, !2, ->16
          5    >   ASSIGN                                                   !3, ~14
   61     6      > FE_RESET_R                                       $16     !2, ->14
          7    > > FE_FETCH_R                                       ~17     $16, !4, ->14
          8    >   ASSIGN                                                   !5, ~17
   63     9        FETCH_DIM_R                                      ~19     !4, 'time'
         10        FETCH_DIM_W                                      $20     !6, ~19
         11        ASSIGN_DIM                                               $20, !3
         12        OP_DATA                                                  !5
   61    13      > JMP                                                      ->7
         14    >   FE_FREE                                                  $16
   59    15      > JMP                                                      ->4
         16    >   FE_FREE                                                  $13
   67    17      > FE_RESET_R                                       $22     !6, ->34
         18    > > FE_FETCH_R                                       ~23     $22, !7, ->34
         19    >   ASSIGN                                                   !8, ~23
   69    20        COUNT                                            ~25     !7
         21        IS_SMALLER_OR_EQUAL                                      !1, ~25
         22      > JMPZ                                                     ~26, ->33
   71    23    > > FE_RESET_R                                       $27     !7, ->31
         24    > > FE_FETCH_R                                       ~28     $27, !5, ->31
         25    >   ASSIGN                                                   !3, ~28
   73    26        FETCH_DIM_R                                      ~31     !0, !3
         27        FETCH_DIM_R                                      ~32     ~31, !5
         28        ASSIGN_DIM                                               !9
         29        OP_DATA                                                  ~32
   71    30      > JMP                                                      ->24
         31    >   FE_FREE                                                  $27
   75    32      > JMP                                                      ->34
   67    33    > > JMP                                                      ->18
         34    >   FE_FREE                                                  $22
   79    35        INIT_FCALL                                               'var_dump'
         36        SEND_VAR                                                 !9
         37        DO_ICALL                                                 
         38      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
151.12 ms | 1400 KiB | 15 Q