Globaalit muuttujat PHP:ssä
Kuten jo tiedät, ulkoiset muuttujat eivät ole saatavilla funktion sisällä:
<?php
$num = 1;
function func()
{
$num = 2;
}
func();
echo $num; // 1
?>
Ne voidaan kuitenkin tehdä saatavilla.
Tätä varten muuttuja funktion sisällä
tulee déclarer globaaliksi käyttämällä
komentoa global. Tämän jälkeen
PHP ymmärtää, että viittaamme nimenomaan
ulkoiseen muuttujaan:
<?php
$num = 1;
function func()
{
global $num; // déclarer globaaliksi
$num = 2;
}
func();
echo $num; // 2
?>
Korjaa koodi niin, että se toimii suunnitellusti:
<?php
$num = 1;
function func()
{
$num++;
}
func();
echo $num; // pitäisi tulostaa 2
?>
Korjaa koodi niin, että se toimii suunnitellusti:
<?php
$num = 1;
function func()
{
$num++;
return $num;
}
echo func(); // pitäisi tulostaa 2
?>
Korjaa koodi niin, että se toimii suunnitellusti:
<?php
$num = 1;
function func()
{
return $num;
}
echo func(); // pitäisi tulostaa 1
?>