Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/5WkDH
function name: (null)
number of ops: 10
compiled vars: !0 = $rows, !1 = $items
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
29 0 E > ASSIGN !0, <array>
57 1 INIT_FCALL 'array_group_by'
2 SEND_VAR !0
3 SEND_VAL 'first_category'
4 DO_FCALL 0 $3
5 ASSIGN !1, $3
58 6 INIT_FCALL 'var_dump'
7 SEND_VAR !1
8 DO_ICALL
9 > RETURN 1
Function array_group_by:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 9
Branch analysis from position: 5
2 jumps found. (Code = 46) Position 1 = 12, Position 2 = 15
Branch analysis from position: 12
2 jumps found. (Code = 46) Position 1 = 16, Position 2 = 19
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 24
Branch analysis from position: 20
2 jumps found. (Code = 77) Position 1 = 26, Position 2 = 32
Branch analysis from position: 26
2 jumps found. (Code = 78) Position 1 = 27, Position 2 = 32
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 26
Branch analysis from position: 26
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 61
Branch analysis from position: 36
2 jumps found. (Code = 77) Position 1 = 39, Position 2 = 60
Branch analysis from position: 39
2 jumps found. (Code = 78) Position 1 = 40, Position 2 = 60
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
Branch analysis from position: 60
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 60
Branch analysis from position: 61
Branch analysis from position: 32
Branch analysis from position: 24
Branch analysis from position: 19
Branch analysis from position: 15
Branch analysis from position: 9
filename: /in/5WkDH
function name: array_group_by
number of ops: 63
compiled vars: !0 = $arr, !1 = $key, !2 = $grouped, !3 = $value, !4 = $args, !5 = $parms
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
4 0 E > RECV !0
1 RECV !1
6 2 TYPE_CHECK 128 ~6 !0
3 BOOL_NOT ~7 ~6
4 > JMPZ ~7, ->9
7 5 > INIT_FCALL 'trigger_error'
6 SEND_VAL 'array_group_by%28%29%3A+The+first+argument+should+be+an+array'
7 SEND_VAL 256
8 DO_ICALL
9 9 > TYPE_CHECK 64 ~9 !1
10 BOOL_NOT ~10 ~9
11 > JMPZ_EX ~10 ~10, ->15
12 > TYPE_CHECK 16 ~11 !1
13 BOOL_NOT ~12 ~11
14 BOOL ~10 ~12
15 > > JMPZ_EX ~10 ~10, ->19
16 > TYPE_CHECK 32 ~13 !1
17 BOOL_NOT ~14 ~13
18 BOOL ~10 ~14
19 > > JMPZ ~10, ->24
10 20 > INIT_FCALL 'trigger_error'
21 SEND_VAL 'array_group_by%28%29%3A+The+key+should+be+a+string+or+an+integer'
22 SEND_VAL 256
23 DO_ICALL
13 24 > ASSIGN !2, <array>
14 25 > FE_RESET_R $17 !0, ->32
26 > > FE_FETCH_R $17, !3, ->32
15 27 > FETCH_DIM_R ~18 !3, !1
28 FETCH_DIM_W $19 !2, ~18
29 ASSIGN_DIM $19
30 OP_DATA !3
14 31 > JMP ->26
32 > FE_FREE $17
19 33 FUNC_NUM_ARGS ~21
34 IS_SMALLER 2, ~21
35 > JMPZ ~22, ->61
20 36 > FUNC_GET_ARGS ~23
37 ASSIGN !4, ~23
21 38 > FE_RESET_R $25 !2, ->60
39 > > FE_FETCH_R ~26 $25, !3, ->60
40 > ASSIGN !1, ~26
22 41 INIT_FCALL 'array_merge'
42 INIT_ARRAY ~28 !3
43 SEND_VAL ~28
44 INIT_FCALL 'array_slice'
45 SEND_VAR !4
46 SEND_VAL 2
47 FUNC_NUM_ARGS ~29
48 SEND_VAL ~29
49 DO_ICALL $30
50 SEND_VAR $30
51 DO_ICALL $31
52 ASSIGN !5, $31
23 53 INIT_USER_CALL 0 'call_user_func_array', 'array_group_by'
54 SEND_ARRAY !5
55 CHECK_UNDEF_ARGS
56 DO_FCALL 1 $34
57 ASSIGN_DIM !2, !1
58 OP_DATA $34
21 59 > JMP ->39
60 > FE_FREE $25
26 61 > > RETURN !2
27 62* > RETURN null
End of function array_group_by
Generated using Vulcan Logic Dumper, using php 8.0.0