<?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',
),
);
$arr = array_merge([0 => ['id' => 0]], $arr);
$new =[];
Foreach(array_reverse($arr) as $sub){
Echo $sub['id'] . "\n";
If(array_key_exists($sub['id_parent'], $new)){
$new[$sub['id_parent']][$sub['id']] = $sub;
}Else{
$new[$sub['id_parent']] = $arr[$sub['id_parent']];
$new[$sub['id_parent']][$sub['id']] = $sub;
}
}
//sort($new);
Var_dump($new);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 11, Position 2 = 35
Branch analysis from position: 11
2 jumps found. (Code = 78) Position 1 = 12, Position 2 = 35
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 24
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 35
filename: /in/moaCr
function name: (null)
number of ops: 40
compiled vars: !0 = $arr, !1 = $new, !2 = $sub
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, <array>
237 1 INIT_FCALL 'array_merge'
2 SEND_VAL <array>
3 SEND_VAR !0
4 DO_ICALL $4
5 ASSIGN !0, $4
238 6 ASSIGN !1, <array>
239 7 INIT_FCALL 'array_reverse'
8 SEND_VAR !0
9 DO_ICALL $7
10 > FE_RESET_R $8 $7, ->35
11 > > FE_FETCH_R $8, !2, ->35
240 12 > FETCH_DIM_R ~9 !2, 'id'
13 CONCAT ~10 ~9, '%0A'
14 ECHO ~10
241 15 FETCH_DIM_R ~11 !2, 'id_parent'
16 ARRAY_KEY_EXISTS ~11, !1
17 > JMPZ ~12, ->24
242 18 > FETCH_DIM_R ~13 !2, 'id_parent'
19 FETCH_DIM_R ~15 !2, 'id'
20 FETCH_DIM_W $14 !1, ~13
21 ASSIGN_DIM $14, ~15
22 OP_DATA !2
23 > JMP ->34
244 24 > FETCH_DIM_R ~17 !2, 'id_parent'
25 FETCH_DIM_R ~19 !2, 'id_parent'
26 FETCH_DIM_R ~20 !0, ~19
27 ASSIGN_DIM !1, ~17
28 OP_DATA ~20
245 29 FETCH_DIM_R ~21 !2, 'id_parent'
30 FETCH_DIM_R ~23 !2, 'id'
31 FETCH_DIM_W $22 !1, ~21
32 ASSIGN_DIM $22, ~23
33 OP_DATA !2
239 34 > > JMP ->11
35 > FE_FREE $8
249 36 INIT_FCALL 'var_dump'
37 SEND_VAR !1
38 DO_ICALL
39 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0
preferences:
184.42 ms | 1400 KiB | 19 Q