/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
funktioner og variabler
Fra : Thomas P


Dato : 02-07-01 14:26

Hej,

Hvorfor kan man ikke bruge eksterne variabler i sine funktioner ? Jeg har
denne kode, hvor jeg først kalder en fil med mine variabler og derefter
skriver min funktion - fungerer således.

require_once("minevariabler.php");

function minfunktion(){
//her står den kode, der skal bruge de variabler
}

hvordan kan jeg få min funktion til at bruge variablerne selvom de ikke er
deklererede inde i selve funktionen ?

--
- Thomas
~~~~~~~~
.... http://www.FlowCode.f2s.com - where code flows
.... mailto:blomme@post.com - where email goes



 
 
Emil Rasmussen (02-07-2001)
Kommentar
Fra : Emil Rasmussen


Dato : 02-07-01 14:37

Hejsa

> hvordan kan jeg få min funktion til at bruge variablerne selvom de ikke er
> deklererede inde i selve funktionen ?

function dinFunktion() {

global $dinvariabel;

echo $dinvariabel;
}

Det skulle kunne gøre det

Mvh Emil

--
Emil Rasmussen
http://noget.net



Thor Dreier (02-07-2001)
Kommentar
Fra : Thor Dreier


Dato : 02-07-01 14:37

"Thomas P" <blomme@post.com> wrote in message
news:9hpskj$pqk$1@news.inet.tele.dk...
> require_once("minevariabler.php");
> function minfunktion(){
> file://her står den kode, der skal bruge de variabler
> }
>
> hvordan kan jeg få min funktion til at bruge variablerne selvom de ikke er
> deklererede inde i selve funktionen ?

Hvis du bruger "global" inde i din funktion:

function minfunktion(){
global $var1_du_har_defineret_udenfor, $var2, $var3;
// her står den kode, der skal bruge de variabler
}


--
Med denne udtalelse repræsenterer jeg på ingen måde mig selv,
og kan derfor under ingen omstændigheder holdes ansvarlig for
skader forårsaget af, eller som følge af denne udtalelse.



Thomas P (02-07-2001)
Kommentar
Fra : Thomas P


Dato : 02-07-01 17:47

> Hvis du bruger "global" inde i din funktion:
>
> function minfunktion(){
> global $var1_du_har_defineret_udenfor, $var2, $var3;
> // her står den kode, der skal bruge de variabler
> }
>

Takker ! Det var lige det jeg søgte

--
- Thomas
~~~~~~~~
.... http://www.FlowCode.f2s.com - where code flows
.... mailto:blomme@post.com - where email goes



Jacob Bunk Nielsen (02-07-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 02-07-01 14:40

"Thomas P" <blomme@post.com> writes:

> hvordan kan jeg få min funktion til at bruge variablerne selvom de ikke er
> deklererede inde i selve funktionen ?

Brug 'global'-nøgleordet, eller require() din variabel-fil inde i
funktionen, hvis det er det eneste sted du skal bruge de variable.

--
Jacob
It's not a lie. It's just a very special kind of truth.

http://www.bunk.cc - nu med Emacs effekt

Niels Andersen (03-07-2001)
Kommentar
Fra : Niels Andersen


Dato : 03-07-01 09:09

"Thomas P" <blomme@post.com> wrote in message
news:9hpskj$pqk$1@news.inet.tele.dk...
> hvordan kan jeg få min funktion til at bruge variablerne selvom de ikke er
> deklererede inde i selve funktionen ?

Som allerede foreslået:

function minfunktion(){
global $minvar;
echo $minvar;
}

eller:

function minfunktion(){
echo $GLOBALS['minvar'];
}

er også en mulighed.

Det kan også være dette, du har brug for:

function minfunktion($var){
echo $var;
}
minfunktion($minvar);

Læs mere om det her:

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

--
Mvh.

Niels Andersen



Rasmus E. Simonsen (03-07-2001)
Kommentar
Fra : Rasmus E. Simonsen


Dato : 03-07-01 09:35

> Hvorfor kan man ikke bruge eksterne variabler i sine funktioner ? Jeg har
> denne kode, hvor jeg først kalder en fil med mine variabler og derefter
> skriver min funktion - fungerer således.
>
> require_once("minevariabler.php");
>
> function minfunktion(){
> //her står den kode, der skal bruge de variabler
> }
>
> hvordan kan jeg få min funktion til at bruge variablerne selvom de ikke er
> deklererede inde i selve funktionen ?

hvorfor laver du ikke dine funktioner så de tager nogle argumenter. Det
bliver altså noget nemmere at vedligeholde. Evt med et øverste object.

<?
funktion minfuntion ($site) {
echo "<html><head>";
echo $site->titel;
echo "</head><body>";
echo $site->menu;
echo $site->indhold;
echo "</body></html>";
}

minfunktion ($siden);
?>






Anders Johannsen (04-07-2001)
Kommentar
Fra : Anders Johannsen


Dato : 04-07-01 12:29

Thomas P wrote in dk.edb.internet.webdesign.serverside.php:

> hvordan kan jeg få min funktion til at bruge variablerne selvom de ikke er
> deklererede inde i selve funktionen ?

Overvej først om det i virkeligheden er det du har lyst til at gøre.

Hvis du f.eks. skal tilgå en af PHPs satte variabler, er det nogenlunde
forsvarligt at gøre det vha. 'global' keywordet:

function myHost() {
global $HTTP_HOST;

return "http://$HTTP_HOST/";
}

Bemærk at 'global' importerer variablen til funktionens scope, hvorfor det
også kan lade sig gøre at lave følgende (pas på: Det er djævelen):

function myHost() {
global $HTTP_HOST;

$HTTP_HOST = "http://$HTTP_HOST/";
}

Hvis man endelig finder fornøjelse ved at modificere globale variabler, er
den bedste metode at give variablen med som argument til funktionen som
'pass-by-reference' i stedet for 'pass-by-value'. Dette gøres ved at sætte
et '&' foran variabelnavnet.

function myHost(&$HTTP_HOST) {
$HTTP_HOST = "http://$HTTP_HOST/";
}

/A

--
Brug Validator service: http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering

Søg
Reklame
Statistik
Spørgsmål : 177522
Tips : 31968
Nyheder : 719565
Indlæg : 6408672
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste