Avatar billede sylvesternielsen Nybegynder
23. januar 2003 - 00:31 Der er 2 kommentarer og
1 løsning

returnere mere end 1 værdi i en function

Kan man returnere mere end 1 værdi i en function...

Hvordan virker global?
Avatar billede Slettet bruger
23. januar 2003 - 00:38 #1
Nej, men du kan retunere et array:

function foo() {
    $array = array('vaerdi_1', vaerdi_2');
    return $array;
}
$array = foo();
echo $array[0]; # udskriver vaerdi_1
echo $array[1]; # udskriver vaerdi_2

GLOBAL i en funktion bryder det normal variabel-scope for den variabel, du gør global. Således at denne kan tilgås fra/udefor funktionen som:

$x = 3;
function bar() {
    echo $x;
    # udskriver intet, eller en warning. $x er ikke defineret i funktionens
      scope.
}

$x = 3;

function foo() {
    GLOBAL $x;
    echo $x;
    # udskriver 3, $x er erklæret global og variable defineret udenfor
      funktionen kan tilgås.
    $x++;
}

Udskriver du nu $x her, er $x = 4, da du har gjort $x GLOBAL og foo således kan ændre dens værdi.

Prøv såvidt muligt at lade være med at bruge GLOBAL. Det er dårlig skik, og kan tit undgås ved at overføre de relevante variable som parameter til funktionen osv. Som:

function foo($x) {
    $x++;
    return $x;
}

$x = foo(3);
echo $x; # udksriver 4

Læs mere på: http://dk.php.net/manual/en/language.variables.scope.php
Avatar billede miraculix Nybegynder
23. januar 2003 - 00:41 #2
Du kan f.eks. returnere et array eller et object.

global bruges til at indikere overfor funktionen at den pågældende variabel er erklæret udenfor funktionen. Herefter kan den globale variabel rettes i funktionen. (ellers vil den implicit oprette en ny lokal variabel i funktionen).

Oftest er det uhensigtsmæssigt at bruge globale variable.
Avatar billede sylvesternielsen Nybegynder
23. januar 2003 - 00:41 #3
ok.. har forstået det så.. Tak
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