<?php
$arr = array (
1 =>
array (
'id' => '1',
'name' => ' Category',
'id_parent' => '0',
'ativo' => '1',
),
2 =>
array (
'id' => '2',
'name' => ' Slippers',
'id_parent' => '0',
'ativo' => '1',
),
3 =>
array (
'id' => '3',
'name' => ' TShirts',
'id_parent' => '0',
'ativo' => '1',
),
4 =>
array (
'id' => '4',
'name' => ' BlousesSweatshirt',
'id_parent' => '0',
'ativo' => '1',
),
5 =>
array (
'id' => '5',
'name' => ' Cap',
'id_parent' => '0',
'ativo' => '1',
),
6 =>
array (
'id' => '6',
'name' => ' Stickers',
'id_parent' => '0',
'ativo' => '1',
),
7 =>
array (
'id' => '7',
'name' => ' ScreensandFrames',
'id_parent' => '0',
'ativo' => '1',
),
8 =>
array (
'id' => '8',
'name' => ' Models',
'id_parent' => '0',
'ativo' => '1',
),
9 =>
array (
'id' => '9',
'name' => ' Notebook',
'id_parent' => '6',
'ativo' => '1',
),
10 =>
array (
'id' => '10',
'name' => ' Door',
'id_parent' => '0',
'ativo' => '1',
),
11 =>
array (
'id' => '11',
'name' => ' Door',
'id_parent' => '6',
'ativo' => '1',
),
12 =>
array (
'id' => '12',
'name' => ' Kangaroo',
'id_parent' => '4',
'ativo' => '1',
),
13 =>
array (
'id' => '13',
'name' => ' KangarooRaglan',
'id_parent' => '4',
'ativo' => '1',
),
14 =>
array (
'id' => '14',
'name' => ' RoundCollar',
'id_parent' => '4',
'ativo' => '1',
),
15 =>
array (
'id' => '15',
'name' => ' Trucker',
'id_parent' => '5',
'ativo' => '1',
),
16 =>
array (
'id' => '16',
'name' => ' Basic',
'id_parent' => '3',
'ativo' => '1',
),
17 =>
array (
'id' => '17',
'name' => ' Longline',
'id_parent' => '3',
'ativo' => '1',
),
18 =>
array (
'id' => '18',
'name' => ' Raglan',
'id_parent' => '3',
'ativo' => '1',
),
19 =>
array (
'id' => '19',
'name' => ' Raglan3/4',
'id_parent' => '3',
'ativo' => '1',
),
20 =>
array (
'id' => '20',
'name' => ' Regatta',
'id_parent' => '3',
'ativo' => '1',
),
21 =>
array (
'id' => '21',
'name' => ' Slide',
'id_parent' => '2',
'ativo' => '1',
),
22 =>
array (
'id' => '22',
'name' => ' Stickers',
'id_parent' => '8',
'ativo' => '1',
),
23 =>
array (
'id' => '23',
'name' => ' Notebook',
'id_parent' => '22',
'ativo' => '1',
),
24 =>
array (
'id' => '24',
'name' => ' T-shirt',
'id_parent' => '8',
'ativo' => '1',
),
25 =>
array (
'id' => '25',
'name' => ' Basic',
'id_parent' => '24',
'ativo' => '1',
),
26 =>
array (
'id' => '26',
'name' => ' Slippers',
'id_parent' => '8',
'ativo' => '1',
),
27 =>
array (
'id' => '27',
'name' => ' Slide',
'id_parent' => '26',
'ativo' => '1',
),
28 =>
array (
'id' => '28',
'name' => ' 1Screen',
'id_parent' => '7',
'ativo' => '1',
),
29 =>
array (
'id' => '29',
'name' => ' Set3Screens',
'id_parent' => '7',
'ativo' => '1',
),
30 =>
array (
'id' => '30',
'name' => ' Set5Screens',
'id_parent' => '7',
'ativo' => '1',
),
31 =>
array (
'id' => '31',
'name' => ' BlousesSweatshirt',
'id_parent' => '8',
'ativo' => '1',
),
32 =>
array (
'id' => '32',
'name' => ' Cap',
'id_parent' => '8',
'ativo' => '1',
),
33 =>
array (
'id' => '33',
'name' => ' ScreensandFrames',
'id_parent' => '8',
'ativo' => '1',
),
);
$temp = array_column($arr, "id");
$ids[0] = "NULL";
$ids = array_merge($ids, $temp);
$temp = array_column($arr, "id_parent");
$parents[0] = "NULL";
$parents = array_merge($parents, $temp);
Foreach(array_unique($parents) as $parent){
if($parent ==0) continue;
$new[$parent]['parent'] = $arr[$parent];
$new[$parent]['children'] = array_intersect_key($arr, array_intersect($parents, [$parent]));
}
Var_dump($new);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 29, Position 2 = 50
Branch analysis from position: 29
2 jumps found. (Code = 78) Position 1 = 30, Position 2 = 50
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 33
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 50
filename: /in/Fbet4
function name: (null)
number of ops: 55
compiled vars: !0 = $arr, !1 = $temp, !2 = $ids, !3 = $parents, !4 = $parent, !5 = $new
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, <array>
237 1 INIT_FCALL 'array_column'
2 SEND_VAR !0
3 SEND_VAL 'id'
4 DO_ICALL $7
5 ASSIGN !1, $7
238 6 ASSIGN_DIM !2, 0
7 OP_DATA 'NULL'
239 8 INIT_FCALL 'array_merge'
9 SEND_VAR !2
10 SEND_VAR !1
11 DO_ICALL $10
12 ASSIGN !2, $10
241 13 INIT_FCALL 'array_column'
14 SEND_VAR !0
15 SEND_VAL 'id_parent'
16 DO_ICALL $12
17 ASSIGN !1, $12
242 18 ASSIGN_DIM !3, 0
19 OP_DATA 'NULL'
243 20 INIT_FCALL 'array_merge'
21 SEND_VAR !3
22 SEND_VAR !1
23 DO_ICALL $15
24 ASSIGN !3, $15
246 25 INIT_FCALL 'array_unique'
26 SEND_VAR !3
27 DO_ICALL $17
28 > FE_RESET_R $18 $17, ->50
29 > > FE_FETCH_R $18, !4, ->50
247 30 > IS_EQUAL !4, 0
31 > JMPZ ~19, ->33
32 > > JMP ->29
248 33 > FETCH_DIM_R ~22 !0, !4
34 FETCH_DIM_W $20 !5, !4
35 ASSIGN_DIM $20, 'parent'
36 OP_DATA ~22
249 37 INIT_FCALL 'array_intersect_key'
38 SEND_VAR !0
39 INIT_FCALL 'array_intersect'
40 SEND_VAR !3
41 INIT_ARRAY ~25 !4
42 SEND_VAL ~25
43 DO_ICALL $26
44 SEND_VAR $26
45 DO_ICALL $27
46 FETCH_DIM_W $23 !5, !4
47 ASSIGN_DIM $23, 'children'
48 OP_DATA $27
246 49 > JMP ->29
50 > FE_FREE $18
251 51 INIT_FCALL 'var_dump'
52 SEND_VAR !5
53 DO_ICALL
54 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0
preferences:
174.34 ms | 1400 KiB | 25 Q