login  Naam:   Wachtwoord: 
Registreer je!
 Forum

domme fout, maar correct ?

Offline wouter - 08/05/2005 18:47
Avatar van wouterPHP interesse door een toeval kwam ik op het volgende:
  1. $var = "willekeurig";
  2. $willekeurig = "gewoon een text";
  3. echo $$var;

hij geeft dan op de pagina weer: 'gewoon een text'

is dit correcte coding of gewoon een foutje die in feite niet correct is (een fout in php dan)

9 antwoorden

Gesponsorde links
Offline Steven - 08/05/2005 18:51
Avatar van Steven HTML interesse Dat is raar 

misschien omdat je een $ te veel doet?
Offline Geerios - 08/05/2005 18:59
Avatar van Geerios Onbekend Als je 'gewoon een text' wil laten weergeven dan doe je dat toch gewoon zo:
  1. <?
  2. $var = "willekeurig";
  3. $willekeurig = "gewoon een text";
  4. echo $willekeurig;
  5. ?>
Offline Fenrir - 08/05/2005 19:07
Avatar van Fenrir PHP expert Dit is correcte coding:

http://nl2.php....riable.php

het kan zelfs zo:

  1. function hoi()
  2. {
  3. echo 'hoi';
  4. }
  5. $f = 'hoi';
  6. $f();
Offline wouter - 08/05/2005 20:33
Avatar van wouter PHP interesse @ Steven & Geerios: dat weet ik ook wel, ik wou enkel weten of dit correcte coding was (en niet gewoon een foute methode die met explorer toch juist uitkomt)

@ Fenrir: dat tweede doet er niet echt toe , maar het is dus inderdaad correcte coding (de naam van een variabele als een variabele *interessant*)
(miss moet dit bij de tutorial van fangorn over variabelen worden bijgevoegd)
Offline Thomas - 08/05/2005 20:49
Avatar van Thomas Moderator Het is dan correct, maar of het wenselijk is, is een tweede. Het idee van een variabele-naam (de naam van een variabele) is dat je een vaste verwijzing hebt naar een waarde/object/whatever, maar als je deze naam variabel maakt, is dit een beetje weg.

Voor elk stuk PHP-code waarin deze constructie gebruikt wordt, ($$var) is meestal een netter alternatief voorhanden - meestal kun je het netter oplossen door gebruik te maken van (bijvoorbeeld) een array.
Offline Wim - 08/05/2005 20:56
Avatar van Wim Crew algemeen
  1. <?php
  2. $var = "willekeurig";
  3. $willekeurig = "gewoon een text";
  4. echo $$var;
  5. ?>


==

  1. <?php
  2. $willekeurig = "gewoon een text";
  3. echo $willekeurig;
  4. ?>


Gewoon een omweg, maar werkt idd wel... (ben niet cker met PHP >= 5)
Offline nemesiskoen - 08/05/2005 21:01
Avatar van nemesiskoen Gouden medaille

PHP expert
heeft da ni me pointers te maken?

arraypointers in dit geval, en omdat php ook associatieve arrays kan lezen, kan het ook associatieve pointers hebben...
Offline jopiegoekopi - 08/05/2005 21:25
Avatar van jopiegoekopi Onbekend
Citaat:
heeft da ni me pointers te maken?
nee, je zet gewoon ipv de naam van de var een andere variabele die de naam bevat. een variabele variabele dus. pointers zijn er eigenlijk niet in php.
Offline Thomas - 08/05/2005 21:48
Avatar van Thomas Moderator Nou ja, je zou een $ als een pointer kunnen zien ... 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.208s