Begynder med Functions

Tags:    php

Jeg er nybegynder med functions. - Og jeg roder lige med at finde ud af hvordan jeg kan hente variabler ud af en function.

F.eks.:

<?php
function testfunc() { $b=37; }

testfunc();
echo'b='.$b;
?>

Hvordan får jeg $b med ud af funktionen?

Jeg kan se at jeg kan sende variabler med ind, vha testfunc($b);

Men den anden vej?

Mvh
John






så skal du gøre sådan her:

Fold kodeboks ind/udKode 


Hvis du vil have functionen til at udskrive variabelen med det samme:

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 15.04.2007 23:49 af Bruger #6559
så skal du gøre sådan her:

Fold kodeboks ind/udKode 


Hvis du vil have functionen til at udskrive variabelen med det samme:

Fold kodeboks ind/udKode 


Generelt er det det sidste eksempel der er det gængse. Dog skal man være opmærksom på at

test(); ikke vil udskrive noget af sig selv på denne måde. Så skal man sige:

echo test();
eller $var = test(); echo $var;



Tænk sig, ikke at smide et link til PHP.net

http://dk2.php.net/functions



så skal du gøre sådan her:

Fold kodeboks ind/udKode 


Hvis du vil have functionen til at udskrive variabelen med det samme:

Fold kodeboks ind/udKode 


virker ikke hvis globals er slået fra på serveren.
Erklær din variabel først, unden for funktionen, hvis det ikke skal være en lokal variabel. F.eks.
Fold kodeboks ind/udKode 


Det vil så give følgende output:
før: qwe
efter: asd

glemte lige at skrive output



Indlæg senest redigeret d. 16.04.2007 11:00 af Bruger #2796
Følgende kode fra Jimmi W:

<?php

$b = "qwe";

function test() {
$b = "asd";
}

echo "før: ".$b."<br/>";
test();
echo "efter: ".$b."<br/>";
?>

Rsulterer i:

qwe
qwe

Hos mig.... Jeg bor hos Unoeuro... har det noget at sige?

Andre, der kan hjælpe?

Mvh
John




Jeg fandt ud af at der åbenbart skal et & foran.

function (&$b) { }

Mvh
John



Hvis man nu tog sig lidt tid til at læse php manualen om variablers scope ville man hurtigt finde ud hvad der er private variabler og hvad der er globale.

Fold kodeboks ind/udKode 




t