/ 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
Problem med funktion/variabel
Fra : Holger Danske


Dato : 06-07-03 21:48

Hejsa         

Jeg har følgende kode/html:

----------
<?php
// Initialisering af en variabel som anvendes på siden.
$SomeVariable = 123;

// Ovenstående variablen skal anvendes i denne funktion. I dette
// eksempel har dog valgt blot at udskrive den, idet det giver det
// samme. Nemlig at jeg ikke kan "få fat" i værdien.
function DoSomething() {
echo $SomeVariable;
}
?>
<html>
....
<?php
// Kalder ovenstående funktion.
DoSomething;
?>
....
</html>
----------

Ved kald af DoSomething udskrives ikke 123 og jeg kan simpelthen ikke
forstå hvorfor. Nogen som kan være behjælpelig? På forhånd tak!


 
 
Martin C. Petersen (06-07-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 06-07-03 22:18


"Holger Danske" <no@mail.thx> skrev i en meddelelse
news:MPG.1972a954fba060d1989691@news.inet.tele.dk...
> $SomeVariable = 123;
>
> // Ovenstående variablen skal anvendes i denne funktion. I dette
> // eksempel har dog valgt blot at udskrive den, idet det giver det
> // samme. Nemlig at jeg ikke kan "få fat" i værdien.
> function DoSomething() {
> echo $SomeVariable;
> }
> ?>
http://dk.php.net/manual/en/language.variables.scope.php


Martin



Martin Sveegaard (06-07-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 06-07-03 22:23

On Sun, 6 Jul 2003 22:48:01 +0200, Holger Danske <no@mail.thx> wrote:

>Hejsa         
>
>Jeg har følgende kode/html:
>
>----------
><?php
> // Initialisering af en variabel som anvendes på siden.
> $SomeVariable = 123;
>
> // Ovenstående variablen skal anvendes i denne funktion. I dette
> // eksempel har dog valgt blot at udskrive den, idet det giver det
> // samme. Nemlig at jeg ikke kan "få fat" i værdien.
> function DoSomething() {
> echo $SomeVariable;
> }
>?>
><html>
>...
><?php
> // Kalder ovenstående funktion.
> DoSomething;
>?>
>...
></html>
>----------
>
>Ved kald af DoSomething udskrives ikke 123 og jeg kan simpelthen ikke
>forstå hvorfor. Nogen som kan være behjælpelig? På forhånd tak!

Variabler i funktioner er lokale i den enkelte funktion, medmindre du
definerer dem som globale. Så du skal enten gøre sådan:
<?
$SomeVariable = 123;

// Ovenstående variablen skal anvendes i denne funktion. I dette
// eksempel har dog valgt blot at udskrive den, idet det giver det
// samme. Nemlig at jeg ikke kan "få fat" i værdien.
function DoSomething() {
global $SomeVariable;
   echo $SomeVariable;
}
// Kalder ovenstående funktion.
DoSomething();
?>
-----------------
Eller sådan:
<?
$SomeVariable = 123;

// Ovenstående variablen skal anvendes i denne funktion. I dette
// eksempel har dog valgt blot at udskrive den, idet det giver det
// samme. Nemlig at jeg ikke kan "få fat" i værdien.
function DoSomething($LocaleVariable) {
   echo $LocalVariable;
}
// Kalder ovenstående funktion.
DoSomething($SomeVariable);
?>
Bemærk osse at du skal bruge paranteser efter funktionsnavnet, da det
ellers bliver betragtet som en konstant.
MVH Martin S

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

Månedens bedste
Årets bedste
Sidste års bedste