In de functie scopeTest maak ik de $a en $b globaal, zodat ze ook binnenin de functie gebruikt kunnen worden. Dat gaat als volgt:
Dit levert de volgende output op:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <?php $a = 5; $b = 10; function scopeTest(){ global $a, $b; $b = $a + $b; // local echo $b."<br/>"; return $b; } scopeTest(); echo $b; ?> |
Dit levert de volgende output op:
Dit bevreemdt mij. Ik had verwacht dat het 15 en 10 zou worden. Begrijp ik nu goed dat wanneer je binnen een functie een variabele globaal maakt, het gelijkschakelen van een variabele aan een waarde, ook buiten de functie van toepassing is?15
15