/ 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
Variable problemer i loop
Fra : Poul Erik Jensen


Dato : 31-10-06 16:23

Det viste er blot et toretisk eksempel til praktisk brug, hvis det kan lade
sig gøre at hente variablenavne i en loop og læse værdien af den aktuelle
værdi. Måske er jeg helt på vildspor

Et antal variable findes allerede oprettet med værdier
$vara=1; $varb=2; $varc=3;
Nu ønskes en loop funktion, der kan hente variabelværdierne ved hjælp af
deres variabelnavn (hvis man da kan det?)

$arr_var = array("vara", "varb", "varc");
reset ($arr_var);
foreach ($arr_var as $value)
{
if($value >= 2) print "1"; else print "0";
}

Det fungerer jo desværre ikke sådan - indholdet af $value bliver bare
navnene, ikke værdierne ;-(
- men hvordan så?

--
Med venlig hilsen Poul Erik Jensen
www.genealog.dk www.skolekammeraten.dk
jep at domænet dot dk




 
 
Bertel Lund Hansen (31-10-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 31-10-06 16:38

Poul Erik Jensen skrev:

> Det viste er blot et toretisk eksempel til praktisk brug, hvis det kan lade
> sig gøre at hente variablenavne i en loop og læse værdien af den aktuelle
> værdi. Måske er jeg helt på vildspor

Det lyder som noget klamp der burde designes anderledes, men det
kan godt lade sig gøre i PHP - som er noget klamp der burde
designes anderledes.

Man skal bruge to dollartegn til den slags tricks.

> Et antal variable findes allerede oprettet med værdier
> $vara=1; $varb=2; $varc=3;
> Nu ønskes en loop funktion, der kan hente variabelværdierne ved hjælp af
> deres variabelnavn (hvis man da kan det?)

$arr_var = array("vara", "varb", "varc");
reset ($arr_var);
// Hvorfor reset?
foreach ($arr_var as $value)
   if($$value >= 2) print "1"; else print "0";

(Utestet)

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Poul Erik Jensen (31-10-2006)
Kommentar
Fra : Poul Erik Jensen


Dato : 31-10-06 16:49

"Bertel Lund Hansen" <nospamfilius@lundhansen.dk> skrev i en meddelelse
news:45476da8$0$4173$ba624c82@nntp02.dk.telia.net...
> Det lyder som noget klamp ...

Tja, måske ... Men det er noget med at holde rede på flere hundrede variable
der ellers skal opdateres ved rettelse mange steder. Men du har nok ret i
det er noget klamp )

> Man skal bruge to dollartegn til den slags tricks.

Tak for fidusen alligevel.

> // Hvorfor reset?

Det stod der, at man skulle )

--
Med venlig hilsen Poul Erik Jensen
www.genealog.dk www.skolekammeraten.dk
jep at domænet dot dk



Michael Zedeler (31-10-2006)
Kommentar
Fra : Michael Zedeler


Dato : 31-10-06 16:50

Poul Erik Jensen wrote:
> Et antal variable findes allerede oprettet med værdier
> $vara=1; $varb=2; $varc=3;
> Nu ønskes en loop funktion, der kan hente variabelværdierne ved hjælp af
> deres variabelnavn (hvis man da kan det?)
>
> $arr_var = array("vara", "varb", "varc");
> reset ($arr_var);
> foreach ($arr_var as $value)
> {
> if($value >= 2) print "1"; else print "0";
> }
>
> Det fungerer jo desværre ikke sådan - indholdet af $value bliver bare
> navnene, ikke værdierne ;-(

Ovenstående tyder på at du er på vildspor, da du kun uhyre sjældent
burde have brug for en funktion, der kan det, du spørger efter. Kan du
konkretisere i hvilken sammenhæng, det skal bruges?

Når det er sagt, skal det dog siges at man skam godt kan det, du er ude
efter. Tag et kig her:

http://dk2.php.net/manual/en/function.eval.php

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Mads Lie Jensen (01-11-2006)
Kommentar
Fra : Mads Lie Jensen


Dato : 01-11-06 10:03

On Tue, 31 Oct 2006 16:49:32 +0100, Michael Zedeler <michael@zedeler.dk>
wrote:

>Ovenstående tyder på at du er på vildspor, da du kun uhyre sjældent
>burde have brug for en funktion, der kan det, du spørger efter. Kan du
>konkretisere i hvilken sammenhæng, det skal bruges?
>
>Når det er sagt, skal det dog siges at man skam godt kan det, du er ude
>efter. Tag et kig her:
>
>http://dk2.php.net/manual/en/function.eval.php

Mon ikke eval() er lidt tung når det kun er til variabler, som i stedet
kan løses med
http://dk2.php.net/manual/en/language.variables.variable.php (som Bertel
også foreslog, dog uden link tli manualen)
--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - http://www.gartneriet.dk/
- nu med drivhus:
http://plantespecialisten.dk/godset/drivhusoprul/side.html

Jesper Brunholm (01-11-2006)
Kommentar
Fra : Jesper Brunholm


Dato : 01-11-06 11:01

Poul Erik Jensen skrev:
> kan lade
> sig gøre at hente variablenavne i en loop og læse værdien af den aktuelle
> værdi.

> Et antal variable findes allerede oprettet med værdier
> $vara=1; $varb=2; $varc=3;

Jeg ved godt at jeg svarer lidt sent, men det ligner et skoleeksempel på
noget som burde løses med bedre brug af arrays.

Hvorfor ikke simpelt hen lade værdien blive i (eventuelt
flerdimensionelle) arrays indtil du er færdig med at arbejde den, og så
bagefter gøre alle værdier i arrayet til variabler med extract()?

$arr_var = array("vara" => 'varaVærdi her', "varb"=>'VarbVærdi Her' osv );

foreach ($arr_var as $variabelNavn => $variabelIndhold){
if($variabelIndhold >= 2){
print "1";
}else{
print "0";
}
}

mvh

Jesper Brunholm

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

Månedens bedste
Årets bedste
Sidste års bedste