För att du inte gett $value något värde i funktionen.
Om du vill att funktionen ska använda samma $value så måste du tala om det genom att skriva: global $value; i funktionen.
5 svar · 255 visningar · startad av jme
Jag har två php-filer:
a.php:
$value = 123;
function funktion()
{
echo $value;
}
b.php
require_once("a.php");
echo $value; // skriver ut 123
funktion(); // skriver inte ut nåt
Varför skrivs inte nåt ut i andra fallet?
För att du inte gett $value något värde i funktionen.
Om du vill att funktionen ska använda samma $value så måste du tala om det genom att skriva: global $value; i funktionen.
jme skrev:
... Har inte använt global förut. :)
Ett tillägg: Du får samma resultat i a.php direkt. Behovet av global är generellt och har inte med inkluderingen i en annan fil att göra. :)
aasah: vad menar du?
Att om du kör skriptet a.php som det ser ut ovan (utan global) men med ett anrop till function() sist så skrivs heller ingenting ut. Det beror inte på att du inkluderat den i b.php .