[PHP] Variabele in een variabele

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

  • bartosiej
  • Registratie: Juli 2005
  • Laatst online: 20-02 22:02
Hallo allemaal,

ik heb een variabele genaamd keuze, die heeft altijd een waarde van 1 t/m 4. Ik heb ook aantal variabelen met de kosten:
$kosten_1 = 25;
$kosten_2 = 45;
$kosten_3 = 50;
$kosten_4 = 65;

Nu vroeg ik me af of het mogelijk is (het is mij nog niet gelukt) om een variabele in een variabele te doen. Dus bijvoorbeeld <? echo $kosten_$keuze; ?> (alleen dit werkt niet). Stel je voor dat $keuze hier dan 3 is ofzo dan moet er 50 uitkomen.

Is het mogelijk? En zo ja, hoe?

Alvast bedankt,

bartosiej

[ Voor 11% gewijzigd door bartosiej op 23-05-2006 12:00 ]


  • Thralas
  • Registratie: December 2002
  • Laatst online: 21-02 02:17
Kijk eens naar arrays.

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 21-02 20:02
Array's <-- dat is wat je zoekt :)

Maar als ik jouw was zou ik me eerst even in de taal constructie die PHP jouw biedt. Dat geeft je meer inzicht in wat je nou allemaal wel niet kunt met PHP, en leer je weer veel nieuwe dingen.

Wat je NIET moet gebruiken zijn de zogenaamde variable variabelen : de variabelen met een dubbele dollar -> $$var. Voor dit soort toepassingen zijn er array's.

nb: gebruik ook de GoT search, want als je je topic titel door de search haalt komt het antwoordt al direct naar boven :)

[ Voor 94% gewijzigd door Sybr_E-N op 23-05-2006 12:04 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ja het is mogenlijk. Nee het is niet mooi.
Je kan beter een array met een lengte van 4 gebruiken.

PHP:
1
2
$var = '$kosten_' . $keuze;
$gekozen = $$var;


Voor de rest moet je maar even zoeken op Variabele Variabele op got want dit is al vaak zat langs gekomen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Mexicanos
  • Registratie: Juli 2001
  • Niet online
Probeer eens:

$Temp = "kosten_$keuze";
echo $$Temp;

  • bartosiej
  • Registratie: Juli 2005
  • Laatst online: 20-02 22:02
Sybr_E-N schreef op dinsdag 23 mei 2006 @ 12:00:
Array's <-- dat is wat je zoekt :)

Maar als ik jouw was zou ik me eerst even in de taal constructie die PHP jouw biedt. Dat geeft je meer inzicht in wat je nou allemaal wel niet kunt met PHP, en leer je weer veel nieuwe dingen.

Wat je NIET moet gebruiken zijn de zogenaamde variable variabelen : de variabelen met een dubbele dollar -> $$var. Voor dit soort toepassingen zijn er array's.
Waarom moet ik dat niet gebruiken, het werkt namelijk wel een stuk makkelijker ;)
Volgens mij worden er ook dubbele variabelen in een for-loop gebruikt met bijvoorbeeld $_POST["$i"];

Daar is toch ook niks mis mee?

[ Voor 3% gewijzigd door bartosiej op 23-05-2006 12:06 ]


Verwijderd

- lama -

[ Voor 94% gewijzigd door Verwijderd op 23-05-2006 12:11 ]


  • Glashelder
  • Registratie: September 2002
  • Niet online

Glashelder

Anti Android

bartosiej schreef op dinsdag 23 mei 2006 @ 12:05:
[...]


Waarom moet ik dat niet gebruiken, het werkt namelijk wel een stuk makkelijker ;)
Volgens mij worden er ook dubbele variabelen in een for-loop gebruikt met bijvoorbeeld $_POST["$i"];

Daar is toch ook niks mis mee?
Dat is een array ;)

PV 4915wp op oost, 2680 wp op west, 1900 wp op zuid. pvoutput - AUX 8 kW bi bloc


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 00:22

Janoz

Moderator Devschuur®

!litemod

Daar is van alles mis mee. Het is erg foutgevoelig, inefficient, security risico en (subjectief) lelijk. Wanneer je een lijst gegevens hebt gebruik je als datatype ook een lijst = een array. Ik raad je daarom sterk aan om de geposte links eens door te nemen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Zoeken in PRG naar 'php variabele variabelen'. Je vraag is al heel vaak voorbij gekomen, en altijd is het antwoord dat het kàn, maar je het niet moet willen. Hier zijn arrays voor; die geven een stuk leesbaardere en onderhoudbaardere code.

Ik stel voor dat je verder even de geposte linkjes doorneemt en de topics in de searchlink hierboven, en je in het vervolg eerst even de search gebruikt voordat je een topic opent.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.