webForumDet fria alternativet

komma åt en variabel i en annan php-fil genom en metod

PHP

5 svar · 255 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

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?

Medlem sedan juni 20034 013 inlägg
#2

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.

http://se.php.net/manual/en/language.variables.scope.php

Medlem sedan maj 20012 237 inlägg
#3

Tack Tydal.

Har inte använt global förut. :)

Medlem sedan mars 20034 471 inlägg
#4

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. :)

Medlem sedan maj 20012 237 inlägg
#5

aasah: vad menar du?

Medlem sedan mars 20034 471 inlägg
#6

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 .

321 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
194 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
196 ms — ändringar (db)