Variabele variabelen - deel 2
Er is ook een manier om in 1 variabele 2 waarden op te slaan. Dit lijkt op het sleutel-waarde principe van een array: bij een bepaalde index hoort een bepaalde waarde. Alleen bij dit soort variabelen heb je twee waardes die echt bij elkaar horen, je kunt daar verder niets mee doen.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$var = 'sleutel';
// de "sleutel" waarde wordt gewoon gedefinieerd als
// een gewone variabele
$$var = 'waarde';
// de waarde die bij sleutel hoort, zit in $$var.
// (de waarde 'sleutel' zit nog in $var)
echo $var . ' hoort bij ' . $$var;
?>
$var = 'sleutel';
// de "sleutel" waarde wordt gewoon gedefinieerd als
// een gewone variabele
$$var = 'waarde';
// de waarde die bij sleutel hoort, zit in $$var.
// (de waarde 'sleutel' zit nog in $var)
echo $var . ' hoort bij ' . $$var;
?>
Dit geeft als uitkomst:
sleutel hoort bij waarde
Wat gebeurt er? Eerst wordt $var gedefinieerd als elke andere variabele. Vervolgens wordt $$var gedefinieerd de waarde die bij $var hoort. Zoals je misschien al gezien hebt, is het belangrijk dat de twee variabelen exact dezelfde naam hebben.
Als je vervolgens dit doet:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$var = 'sleutel';
// de "sleutel" waarde wordt gewoon gedefinieerd als
// een gewone variabele
$$var = 'waarde';
// de waarde die bij sleutel hoort, zit in $$var.
// (de waarde 'sleutel' zit nog in $var)
echo $var . ' hoort bij ' . $sleutel;
?>
$var = 'sleutel';
// de "sleutel" waarde wordt gewoon gedefinieerd als
// een gewone variabele
$$var = 'waarde';
// de waarde die bij sleutel hoort, zit in $$var.
// (de waarde 'sleutel' zit nog in $var)
echo $var . ' hoort bij ' . $sleutel;
?>
Echot php precies hetzelfde, namelijk:
sleutel hoort bij waarde
Hoe kan dit? Hier gebeurt substitutie, een ander woord voor vervanging. Een variabele is niets anders dan een vervanger voor een variabele. Php vervangt gewoon alle $var door 'sleutel'. Hierdoor komt er te staan $sleutel in plaats van $$var. Daarmee is ook te het eerste voorbeeld te begrijpen, bij het definiƫren van $$var vervangt php eerst $$var voor $sleutel, voor hij er 'waarde' aan toewijst.
« vorige pagina | volgende pagina »