[PHP] Variabele als array naam gebruiken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 45010

Topicstarter
Ik probeer dynamisch arrays te genereren op de volgende manier:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
for ($b=1; $b<=4; $b++) {
    $team = "team".$b;
    $$team = array ("id" => $poule.$b, 
                    "positie" => $b, 
                    "gespeeld" => 0, 
                    "gewonnen" => 0, 
                    "gelijk" => 0, 
                    "verloren" => 0,
                    "punten" => 0,
                    "voor" => 0,
                    "tegen" => 0,
                    );
}


Ik wil 4 arrays maken: team1, team2, team3 en team4.

Als ik een waarde opvraag met bv.
PHP:
1
echo $team1["id"]
, dan krijg ik gewoon de juiste waarde uit de array.
Als ik de array opvraag met:
PHP:
1
print_r($$team);

dan krijg ik als output:
code:
1
Array ( [id] => b1 [positie] => 1 [gespeeld] => 0 [gewonnen] => 0 [gelijk] => 0 [verloren] => 0 [punten] => 0 [voor] => 0 [tegen] => 0 )


Maar als ik
PHP:
1
echo $$team["id"]
opvraag, dan krijg ik geen output.

Iemand een idee wat ik hier fout doe?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

waarom neem je niet een multidimensionale array?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$team = array();

for ($b=1; $b<=4; $b++) {
    $team[$b] = array ("id" => $poule.$b, 
                    "positie" => $b, 
                    "gespeeld" => 0, 
                    "gewonnen" => 0, 
                    "gelijk" => 0, 
                    "verloren" => 0,
                    "punten" => 0,
                    "voor" => 0,
                    "tegen" => 0,
                    );
}

Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Wat er fout gaat is overigens dit:
${$team['id']}

De ['id'] komt van $team en dat is niet eens een array.

Zo zal het wel werken:
code:
1
echo ${$team}['id'];


Een multidimensionale array is imho overigens wel netter :)