variabele variabele
Graag zou ik van 1 array met hierin bijvoorbeeld 3 verschillende arrays 3 losse arrays maken:
Dus ik heb:
Code (php)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
Array
(
[0] => Array
(
[parentId] => 1
[kinderen] => Array
(
[0] => Array
(
[id] => 2
[paginanaam] => producten
)
[1] => Array
(
[id] => 3
[paginanaam] => aanbiedingen
)
[2] => Array
(
[id] => 4
[paginanaam] => links
)
)
[aantal_kinderen] => 3
)
[1] => Array
(
[parentId] => 2
[kinderen] => Array
(
[0] => Array
(
[id] => 5
[paginanaam] => banden
)
[1] => Array
(
[id] => 6
[paginanaam] => velgen
)
[2] => Array
(
[id] => 7
[paginanaam] => toebehoren
)
)
[aantal_kinderen] => 3
)
[2] => Array
(
[parentId] => 5
[kinderen] => Array
(
[0] => Array
(
[id] => 10
[paginanaam] => merken
)
[1] => Array
(
[id] => 11
[paginanaam] => types
)
)
[aantal_kinderen] => 2
)
)
Van deze drie arrays in de hoofd array wil ik maken:
$array1 = Array
(
[parentId] => 1
[kinderen] => Array
(
[0] => Array
(
[id] => 2
[paginanaam] => producten
)
[1] => Array
(
[id] => 3
[paginanaam] => aanbiedingen
)
[2] => Array
(
[id] => 4
[paginanaam] => links
)
)
[aantal_kinderen] => 3
)
$array2 = Array
(
[parentId] => 5
[kinderen] => Array
(
[0] => Array
(
[id] => 10
[paginanaam] => merken
)
[1] => Array
(
[id] => 11
[paginanaam] => types
)
)
[aantal_kinderen] => 2
)
enz...
Ik dacht eraan om een for loop te maken dewelke het aantal items in de hoofdarray afloopt en ze dan door middel van een variable variable array te plaatsen, iets in de aard van:
for( $i = 0; $i < $padLevel; $i ++ )
{
$arBoom{$i}['parentId'] = $arPad[$i]['id'];
$arBoom{$i}['kinderen'] = getDirecteKinderen( $arPad{$i}['id'] );
$arBoom{$i}['aantal_kinderen'] = count( $arBoom[ $i ]['kinderen'] );
}
(
[0] => Array
(
[parentId] => 1
[kinderen] => Array
(
[0] => Array
(
[id] => 2
[paginanaam] => producten
)
[1] => Array
(
[id] => 3
[paginanaam] => aanbiedingen
)
[2] => Array
(
[id] => 4
[paginanaam] => links
)
)
[aantal_kinderen] => 3
)
[1] => Array
(
[parentId] => 2
[kinderen] => Array
(
[0] => Array
(
[id] => 5
[paginanaam] => banden
)
[1] => Array
(
[id] => 6
[paginanaam] => velgen
)
[2] => Array
(
[id] => 7
[paginanaam] => toebehoren
)
)
[aantal_kinderen] => 3
)
[2] => Array
(
[parentId] => 5
[kinderen] => Array
(
[0] => Array
(
[id] => 10
[paginanaam] => merken
)
[1] => Array
(
[id] => 11
[paginanaam] => types
)
)
[aantal_kinderen] => 2
)
)
Van deze drie arrays in de hoofd array wil ik maken:
$array1 = Array
(
[parentId] => 1
[kinderen] => Array
(
[0] => Array
(
[id] => 2
[paginanaam] => producten
)
[1] => Array
(
[id] => 3
[paginanaam] => aanbiedingen
)
[2] => Array
(
[id] => 4
[paginanaam] => links
)
)
[aantal_kinderen] => 3
)
$array2 = Array
(
[parentId] => 5
[kinderen] => Array
(
[0] => Array
(
[id] => 10
[paginanaam] => merken
)
[1] => Array
(
[id] => 11
[paginanaam] => types
)
)
[aantal_kinderen] => 2
)
enz...
Ik dacht eraan om een for loop te maken dewelke het aantal items in de hoofdarray afloopt en ze dan door middel van een variable variable array te plaatsen, iets in de aard van:
for( $i = 0; $i < $padLevel; $i ++ )
{
$arBoom{$i}['parentId'] = $arPad[$i]['id'];
$arBoom{$i}['kinderen'] = getDirecteKinderen( $arPad{$i}['id'] );
$arBoom{$i}['aantal_kinderen'] = count( $arBoom[ $i ]['kinderen'] );
}
MAar dit werkt niet echt...
Iemand een betere suggestie?
Bedankt alvast
Gewijzigd op 01/01/1970 01:00:00 door Michele
hier een voorbeeld over hoe zoiets werkt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$multi_array = array('een', 'twee', 'drie');
$multi_array['een'] = range (1, 10);
$multi_array['twee'] = range (11, 20);
$multi_array['drie'] = range (21, 30);
echo '<pre>';
print_r ($multi_array);
echo '</pre>';
foreach ($multi_array as $key => $value) {
$$key = $value;
}
// nu bestaat er een array $een
echo '<pre>';
print_r ($een);
echo '</pre>';
?>
$multi_array = array('een', 'twee', 'drie');
$multi_array['een'] = range (1, 10);
$multi_array['twee'] = range (11, 20);
$multi_array['drie'] = range (21, 30);
echo '<pre>';
print_r ($multi_array);
echo '</pre>';
foreach ($multi_array as $key => $value) {
$$key = $value;
}
// nu bestaat er een array $een
echo '<pre>';
print_r ($een);
echo '</pre>';
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Bedankt, dat is inderdaad hetgeen ik nodig heb.
Alleen in mijn geval is het aantal rijen (een, twee, drie,...) verschillend telkens een pagina geladen wordt.
Dus ik kan niet(??) op voorhand declareren:
$multi_array = array('een', 'twee', 'drie');
omdat ik niet weet hoeveel rijen er dit keer in gaan staan.
In arrays kan je nog wel eens doen: $array['level'.$i]
Maar bij gewone variabelen die je dan bekomt na het omzetten van de keys naar eigen variabelen(jouw functie) gaat dat niet(??): bijvoorbeeld
print_r( $level{$1} )
Heb je hier misschien ook een oplossing voor ?
Groetjes Michele
Gewijzigd op 01/01/1970 01:00:00 door Michele
Probeer eens ${'level'.$1}, volgens mij was dat hem.
Michele:
Hallo Jan,
Bedankt, dat is inderdaad hetgeen ik nodig heb.
Alleen in mijn geval is het aantal rijen (een, twee, drie,...) verschillend telkens een pagina geladen wordt.
Dus ik kan niet(??) op voorhand declareren:
$multi_array = array('een', 'twee', 'drie');
omdat ik niet weet hoeveel rijen er dit keer in gaan staan.
Bedankt, dat is inderdaad hetgeen ik nodig heb.
Alleen in mijn geval is het aantal rijen (een, twee, drie,...) verschillend telkens een pagina geladen wordt.
Dus ik kan niet(??) op voorhand declareren:
$multi_array = array('een', 'twee', 'drie');
omdat ik niet weet hoeveel rijen er dit keer in gaan staan.
Mijn multiarray was maar een voorbeeld. Omdat je de variabele variabelen in een foreach aanmaakt, maakt het niet uit hoeveel elementen je multiarray bevat. Test maar eens uit.