Avatar billede webcreator Nybegynder
27. oktober 2003 - 00:19 Der er 6 kommentarer og
1 løsning

Få fat i variabel uden for en funktion

Hej.

Jeg har en funktion, som jeg laver en variabel i. Hvordan får jeg fat i indholdet af denne variabel uden for funktionen ??
Avatar billede erikjacobsen Ekspert
27. oktober 2003 - 00:22 #1
function x() {
  global $bqf;
  $bqf=7;
}

x();
print $bqf;

.....eller.....

function x() {
  return 7;
}

$bqf = x();
print $bqf;
Avatar billede webcreator Nybegynder
27. oktober 2003 - 00:25 #2
Ahh, lidt jeg kunne bruge der. Perfekt. Smid svar :)
- Og tak :)
Avatar billede Slettet bruger
27. oktober 2003 - 01:03 #3
eller hvis man vil ...

function x(&$i) {
  $i = 4;
}
$bqf = 0;
x($bgf);
print $bgf; //udskriver 4
Avatar billede swaxi Nybegynder
27. oktober 2003 - 16:06 #4
globale variable er noget skidt. returner data fra din funktion i stedet.

function f()
{
    $x = 7;
    return $x;
}

print f();
Avatar billede webcreator Nybegynder
27. oktober 2003 - 19:00 #5
Hvorfor er det noget skidt ?
Avatar billede swaxi Nybegynder
27. oktober 2003 - 19:09 #6
well ... fordi på den måde kan du uforvaren komme til at rode ved en anden funktions data.
hvis eks. funktion a bruger en variabel $x og funktion b også gør det, kan de komme til at overskrive hinandens data. hvis du lige sidder med funktionerne ved siden af hinanden, og de i øvrigt er så små som i eksemplerne her, kan du sikkert godt overskue det, men hvis du skriver størrere programmer bliver det _meget_ svært at holde styr på.
Avatar billede webcreator Nybegynder
01. november 2003 - 09:27 #7
Smid svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester