D2ks:
1/ niet doen, ik zie het probleem niet met een array?
2/ je weet toch wel hoe je variabelen samensteld?
ik zou dan overigens voor
$naam_ . $getal = "blaat";
kiezen, netjes in een forlus zodat getal oploopt
Afgezien van het feit dat je gewoon normaal arrays moet gebruiken, is
code:
1
| $naam_ . $getal = "blaat"; |
niet helemaal correct.
Wat hier namelijk gebeurt is het volgende:
code:
1
2
3
4
5
6
7
8
9
| [expressie "string concatenate"]
[deel]$naam_[/deel]
[deel]
[expressie "toewijzen"]
[aan]$getal[/aan]
[waarde]"blaat"[/waarde]
[/expressie]
[/deel]
[/expressie] |
Uiteraard wordt de 2
e eerst uitgevoerd, omdat anders het 2
e "deel" van de concatenate expressie niet bekend is.
Oftewel, "blaat" wordt aan getal toegewezen, en vervolgens wordt de inhoud van $naam_ met het resultaat van die expressie (de waarde "blaat") geconcatenate (samen gevoegd), maar wordt nergens aan toegewezen.
Kortom: in deze expressie gebeurt niet veel meer dan "blaat" de variabele $getal toewijzen
Als je het in arrays zou oplossen, zou ik (ongeveer) zo doen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| $items = array (
'name' => 'organisatie',
'children' => array (
array (
'name' => 'vestigingen',
'children' => array ()
),
array (
'name' => 'afdelingen',
'children' => array ()
)
)
); |
Lijkt heel ingewikkeld, maar in feite is het niet meer dan een boomstructuur zoals jij volgens mij wilt.
Vervolgens recursief uitlezen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| function print_item ( $items ) {
echo '<div style="margin-left:20px;">';
foreach ( $items as $item ) {
echo $item [ 'name' ];
if ( count ( $item [ 'children' ] ) > 0 ) {
print_items ( $item [ 'children' ] );
}
}
echo '</div>';
}
print_items ( $items ); |
zoiets.