Bonjour,
J'ai un tableau dans lequel se trouvent des éléments parents/enfants.
Je tente de réaliser une fonction récursive pour gérer mes résultats mais je coince...
Voici le tableau qu'il faut que je traite :
J'essaye de créer ma fonction qui dit qu'à chaque fois qu'un élément "children" est trouvé, la fonction se relance. Voici ce que j'ai réalisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 Array ( [0] => Array ( [Calcul] => Array ( [id] => 1 [nom] => Gros cacul maitre [comptes] => [parent_id] => [groupe_id] => 3 ) [children] => Array ( [0] => Array ( [Calcul] => Array ( [id] => 2 [nom] => Calcul moyen 2 [comptes] => 238;301 [parent_id] => 1 [groupe_id] => 3 ) [children] => Array ( [0] => Array ( [Calcul] => Array ( [id] => 4 [nom] => Enfant du calcul moyen [comptes] => 673;920;834 [parent_id] => 2 [groupe_id] => 3 ) [children] => Array ( ) ) ) ) [1] => Array ( [Calcul] => Array ( [id] => 3 [nom] => Calcul moyen 2 encore [comptes] => 0 [parent_id] => 1 [groupe_id] => 3 ) [children] => Array ( ) ) ) ) )
Le but étant pour moi d'exploiter les numéros de comptes qui se trouve dans le tableau pour faire des requêtes. J'aimerais que le tableau me soit retourné un peu sous la même forme que mon premier tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function Childscalc($calculs){ foreach($calculs as $i => $calcul){ $result[][$i] = array('id' => $calcul['Calcul']['id'], 'nom' => $calcul['Calcul']['nom']); if($calcul['children']){ $childs = $calcul['children']; foreach($childs as $a => $child){ $result[$i]['childs']['calcul'][$a] = $child['Calcul']['nom']; $result[$i]['childs']['calcul'][$a]['childs'] = array($this->Childscalc($child)); } return $result; }
Partager