3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array=Array ( "21" => Array ( "0" => 3.5, "65" => Array ( "0" => 44.125 ), "150" => Array ( "0" => 15.25 ), "151" => Array ( "0" => 17.333333333333 ) ), "23" => Array ( "0" => 0, "166" => Array ( "0" => 26 ), "172" => Array ( "0" =>"" ), "182" => Array ( "0" => 20.333333333333 ), "183" => Array ( "0" => 24.125 ) ) ); $count1 = 0; $count2 = 0; foreach ($array as $key3 => $value3) { if($key3 == "21") { foreach ($value3 as $key => $value) { if (strpos($key, '0') === 0) { $count1++; } if(is_array($value)) { foreach($value as $key2=>$value2) { if(strpos($key2,'0') === 0) { $count1++ ; } } } } } if($key3 == "23") { foreach ($value3 as $key => $value) { if (strpos($key, '0') === 0) { $count2++; } if(is_array($value)) { foreach($value as $key2=>$value2) { if(strpos($key2,'0') === 0) { $count2++; } } } } } }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 63
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 63
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 34
Branch analysis from position: 8
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 33
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 33
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 18
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 32
Branch analysis from position: 20
2 jumps found. (Code = 77) Position 1 = 21, Position 2 = 31
Branch analysis from position: 21
2 jumps found. (Code = 78) Position 1 = 22, Position 2 = 31
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 29, Position 2 = 30
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
Branch analysis from position: 30
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 31
Branch analysis from position: 32
Branch analysis from position: 18
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 62
Branch analysis from position: 36
2 jumps found. (Code = 77) Position 1 = 37, Position 2 = 61
Branch analysis from position: 37
2 jumps found. (Code = 78) Position 1 = 38, Position 2 = 61
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 46
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 60
Branch analysis from position: 48
2 jumps found. (Code = 77) Position 1 = 49, Position 2 = 59
Branch analysis from position: 49
2 jumps found. (Code = 78) Position 1 = 50, Position 2 = 59
Branch analysis from position: 50
2 jumps found. (Code = 43) Position 1 = 57, Position 2 = 58
Branch analysis from position: 57
1 jumps found. (Code = 42) Position 1 = 49
Branch analysis from position: 49
Branch analysis from position: 58
Branch analysis from position: 59
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
Branch analysis from position: 59
Branch analysis from position: 60
Branch analysis from position: 46
Branch analysis from position: 61
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 61
Branch analysis from position: 62
Branch analysis from position: 33
Branch analysis from position: 34
Branch analysis from position: 63
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 63
filename:       /in/0r60Z
function name:  (null)
number of ops:  65
compiled vars:  !0 = $array, !1 = $count1, !2 = $count2, !3 = $value3, !4 = $key3, !5 = $value, !6 = $key, !7 = $value2, !8 = $key2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
   51     1        ASSIGN                                                   !1, 0
   52     2        ASSIGN                                                   !2, 0
   53     3      > FE_RESET_R                                       $12     !0, ->63
          4    > > FE_FETCH_R                                       ~13     $12, !3, ->63
          5    >   ASSIGN                                                   !4, ~13
   55     6        IS_EQUAL                                                 !4, '21'
          7      > JMPZ                                                     ~15, ->34
   57     8    > > FE_RESET_R                                       $16     !3, ->33
          9    > > FE_FETCH_R                                       ~17     $16, !5, ->33
         10    >   ASSIGN                                                   !6, ~17
   59    11        INIT_FCALL                                               'strpos'
         12        SEND_VAR                                                 !6
         13        SEND_VAL                                                 '0'
         14        DO_ICALL                                         $19     
         15        IS_IDENTICAL                                             $19, 0
         16      > JMPZ                                                     ~20, ->18
   60    17    >   PRE_INC                                                  !1
   62    18    >   TYPE_CHECK                                  128          !5
         19      > JMPZ                                                     ~22, ->32
   64    20    > > FE_RESET_R                                       $23     !5, ->31
         21    > > FE_FETCH_R                                       ~24     $23, !7, ->31
         22    >   ASSIGN                                                   !8, ~24
   66    23        INIT_FCALL                                               'strpos'
         24        SEND_VAR                                                 !8
         25        SEND_VAL                                                 '0'
         26        DO_ICALL                                         $26     
         27        IS_IDENTICAL                                             $26, 0
         28      > JMPZ                                                     ~27, ->30
   68    29    >   PRE_INC                                                  !1
   64    30    > > JMP                                                      ->21
         31    >   FE_FREE                                                  $23
   57    32    > > JMP                                                      ->9
         33    >   FE_FREE                                                  $16
   74    34    >   IS_EQUAL                                                 !4, '23'
         35      > JMPZ                                                     ~29, ->62
   76    36    > > FE_RESET_R                                       $30     !3, ->61
         37    > > FE_FETCH_R                                       ~31     $30, !5, ->61
         38    >   ASSIGN                                                   !6, ~31
   78    39        INIT_FCALL                                               'strpos'
         40        SEND_VAR                                                 !6
         41        SEND_VAL                                                 '0'
         42        DO_ICALL                                         $33     
         43        IS_IDENTICAL                                             $33, 0
         44      > JMPZ                                                     ~34, ->46
   79    45    >   PRE_INC                                                  !2
   81    46    >   TYPE_CHECK                                  128          !5
         47      > JMPZ                                                     ~36, ->60
   83    48    > > FE_RESET_R                                       $37     !5, ->59
         49    > > FE_FETCH_R                                       ~38     $37, !7, ->59
         50    >   ASSIGN                                                   !8, ~38
   85    51        INIT_FCALL                                               'strpos'
         52        SEND_VAR                                                 !8
         53        SEND_VAL                                                 '0'
         54        DO_ICALL                                         $40     
         55        IS_IDENTICAL                                             $40, 0
         56      > JMPZ                                                     ~41, ->58
   87    57    >   PRE_INC                                                  !2
   83    58    > > JMP                                                      ->49
         59    >   FE_FREE                                                  $37
   76    60    > > JMP                                                      ->37
         61    >   FE_FREE                                                  $30
   53    62    > > JMP                                                      ->4
         63    >   FE_FREE                                                  $12
   93    64      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
159.16 ms | 1404 KiB | 15 Q