PHP.net-sivustolla on kohdassa "Variable Scope" tällainen esimerkki, joka viimeisellä rivillä kirjoittaa a:n ja b:n summan eli kolme:
========================================
$a = 1;
$b = 2;
function Sum()
{
global $a, $b;
$b = $a $b;
}
Sum();
echo $b;
========================================
Itse en saa tuota toimimaan sitten millään. En saa mitään jonkin funktion ulkopuolella olevaa muuttujaa käytettyä funktion sisällä (tietysti parametreja lukuunottamatta). Mistäköhän kyseinen juttu voi johtua? Onko PHP-asetuksissa mahdollista määrittää joitakin asetuksia liittyen tähän?
========================================
$a = 1;
$b = 2;
function Sum()
{
global $a, $b;
$b = $a $b;
}
Sum();
echo $b;
========================================
Itse en saa tuota toimimaan sitten millään. En saa mitään jonkin funktion ulkopuolella olevaa muuttujaa käytettyä funktion sisällä (tietysti parametreja lukuunottamatta). Mistäköhän kyseinen juttu voi johtua? Onko PHP-asetuksissa mahdollista määrittää joitakin asetuksia liittyen tähän?
Vastaukset 1
Vanhimmat
Kyllähän tuo toiminee ihan hyvin. Function sisällä ulkopuoliset muuttujat eivät pidäkkään toimia, ellei ne ole lueteltu esim global lausees, kuten tossa on tehty a ja b muuttujan kohdalla.
Samoin functiossa määritellyt muuttujat eivät toimi muualla, ellei ne ole lueteltu global lausees.
Tämä toiminta on normaalia, ja hyvä juttukin.