Avatar billede dank Nybegynder
30. april 2003 - 21:26 Der er 16 kommentarer og
1 løsning

Funktioner og variabler

Hey... jeg har en funktion

function uptime (){
$string=`uptime`;
return $string;
}

Jeg kører så:

uptime();
echo "$string";

Men der kommer intet output.. hvis jeg bare gør således:

$string=`uptime`;
echo "$string";

Så virker det helt fint...

Nogen der kan hjælpe?
Avatar billede tipsen Nybegynder
30. april 2003 - 21:28 #1
Ret:

uptime();
echo "$string";

til:

echo uptime();

Så bliver den tekst som funktionen returnerer printet direkte ud!
Avatar billede fangel Nybegynder
30. april 2003 - 21:30 #2
hæhæ... du skal enten gøre sådan her:

function uptime (){
  $string="uptime";
  return $string;
}

echo uptime();

eller sådan her...

function uptime (){
  $string="uptime";
  global $string;
  return true;
}

uptime();
echo $string;

Morten
Avatar billede dank Nybegynder
30. april 2003 - 21:30 #3
ja sgu! taaak :o)
Avatar billede fangel Nybegynder
30. april 2003 - 21:30 #4
heyar'... se lige mit post tidspunkt... ;) 21:30:00 ;)
Avatar billede dank Nybegynder
30. april 2003 - 21:31 #5
arrgh... dea_pg skulle da også have haft lidt point for den info.. som jeg godt kunne bruge

jeg formoder global så smider variablerne mellem "scriptet" og funktionen! ret nyttigt at vide
Avatar billede fangel Nybegynder
30. april 2003 - 21:31 #6
hey... mit svar var lige så korrekt, og havde også en alternativ måde at løse det på! vræl...
Avatar billede dank Nybegynder
30. april 2003 - 21:31 #7
lol
Avatar billede fangel Nybegynder
30. april 2003 - 21:32 #8
global laver variablen global, så den kan nås fra alle stedet i scriptet... samme gælder for class, hvis du skulle lege med OOP...

skal lige siges at du kan bruge den sådan her

global $var1,$var2,$var3

hvis du vil spare lidt plads...

Morten
Avatar billede dank Nybegynder
30. april 2003 - 21:34 #9
Avatar billede fangel Nybegynder
30. april 2003 - 21:37 #10
tak...
Avatar billede bacce.dk Nybegynder
30. april 2003 - 21:37 #11
dea_pg>> global $variabel virker ikke i class
der bruges $GLOBALS["variabel"]
har netop haft dette problem i dette spm
http://www.eksperten.dk/spm/345961
Avatar billede fangel Nybegynder
30. april 2003 - 21:40 #12
OK... gik ud fra at det var nok med bare global i klasser også! men vi må vente til PHP5 med alt de sjove OOP... ;)
Avatar billede tipsen Nybegynder
30. april 2003 - 21:42 #13
Det er vel egentlig heller ikke god stil med globale variable - så mister man vel lidt af ideen med specielt klasser og også lidt funktioner - nemlig data-indkapslingen.
Avatar billede bacce.dk Nybegynder
30. april 2003 - 21:42 #14
hmm skulle det blive nemmere med oop i PHP5 ??
Avatar billede fangel Nybegynder
30. april 2003 - 21:47 #15
nej, men der vil komme en vildere understøttelse af OOP, som vi kender det fra C++ og Java... med mulighed for nedarv, private funktioner osv... se http://www.phpvolcano.com/articles/php5/ for mere info...

tipsen => ja, du har ret ang. globale variabler og klasser!

Morten
Avatar billede tipsen Nybegynder
30. april 2003 - 21:47 #16
bacce: OOP skulle være langt bedre integreret i PHP5 (pga. omskrivning af Zend-engine) og dermed langt hurtigere - den nuværende OOP-understøttelse er ikke noget at råbe hurra for - den er både langsom og mangelfuld.
Avatar billede bacce.dk Nybegynder
30. april 2003 - 21:53 #17
tipsen> ang. globale variabler så kan de stadig være guld værd.
se i det tilfelde jeg linkede til...
den / de ariabler jeg skulle bruge var nogen der var skrevet i en conf fil da det var stier uden for mit eget doc root, og da sitet skulle bruges på 2 forskellige domains. (et til test og udvikling og et til puplic) er det stor fordel at man bare kan overføre filerne fra et domain til det andet UDEN at skulle rette kode.
men ellers har du ret :-)

til det andet, så ja oop er temmelig mangelfuld, og langsom, men kendte bare ikke noget til fremtids planerne for PHP5 ;-)
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