[PHP] Functions : Verkrijg variable naam

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi.,

ik heb een functie:

PHP:
1
2
3
4
5
6
7
8
9
<?
function blaat ($var)
{
  echo "Hoi ".$var;
}

$test = "Ruud";
blaat ($test);
?>


Nu wil ik de $var name achterhalen.. Dus in dit geval wil ik er achter komen dat het $test is ..

Dus als ik er

blaat ($piet); van maak wil ik weten dat het $piet is.. ?


IS dit uberhaupt mogelijk? En zo ja , hoe ?

[ Voor 6% gewijzigd door Verwijderd op 10-11-2003 22:43 ]


Acties:
  • 0 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 08-09 13:47
Geen idee eigenlijk :)
Klinkt iig vrij vies wat je aan het doen bent ;) Mag ik vragen waarom je dit nodig hebt?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
bartvb schreef op 10 november 2003 @ 22:47:
Geen idee eigenlijk :)
Klinkt iig vrij vies wat je aan het doen bent ;) Mag ik vragen waarom je dit nodig hebt?
Waarom? Ik wil namelijk een printarray functie maken die direct de naam van de array print :) Zodat ik het niet zelf in die function () hoe te definen :D

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 10 november 2003 @ 22:49:
[...]

Waarom? Ik wil namelijk een printarray functie maken die direct de naam van de array print :) Zodat ik het niet zelf in die function () hoe te definen :D
hmm, neem aan dat het alleen voor debug werk is :P
in dat geval doe ik het meestal gewoon ranzig:
PHP:
1
2
3
4
5
6
function debug($var){
  echo '$'.$var.': '.$$var;
}

$Erkens = '1337';
debug('Erkens');

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 19-09 12:39

MBV

klinkt als zinloos? Misschien een idee om een omschrijving aan de array toe te voegen, print_r() te gebruiken, of gewoon toch maar de naam door te geven?
Ik vermoed zeer sterk dat het niet kan, voor zover ik weet kan het in C++ e.d. ook niet. Dat komt omdat je bij zo'n aanroep de waarde kopieert naar een nieuwe variabele. Theoretisch zou je de verschillende namen van een referentie bij elkaar kunnen sprokkelen, maar voor zover ik weet is daar geen functie voor.
Waarom geen object maken om die array heen, met functies voegtoe enz., en een printfunctie? Van objecten kan je wel de naam opvragen :P
edit:
wat doet een $$ nou weer? die heb ik nog nooit gezien.
/me dacht dat hij goed is in php, blijkt weer een beetje minder te zijn :X

[edit2]
ik ben wel zoiets tegengekomen: je kan kijken van welk type een variabele is: [link=http://nl.php.net/manual/en/function.var-dump.php]var_dump90[/link]
Verder kan ik niks voor je vinden.
[/edit2]

[ Voor 25% gewijzigd door MBV op 10-11-2003 23:04 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

MBV schreef op 10 november 2003 @ 22:53:
edit:
wat doet een $$ nou weer? die heb ik nog nooit gezien.
/me dacht dat hij goed is in php, blijkt weer een beetje minder te zijn :X
als je hem niet kent is het juist goed ;)
is erg ranzig enzo :P

Acties:
  • 0 Henk 'm!

  • Burat
  • Registratie: Oktober 1999
  • Niet online

Burat

bos wortels

Erkens schreef op 10 november 2003 @ 22:52:
[...]

hmm, neem aan dat het alleen voor debug werk is :P
in dat geval doe ik het meestal gewoon ranzig:
PHP:
1
2
3
4
5
6
function debug($var){
  echo '$'.$var.': '.$$var;
}

$Erkens = '1337';
debug('Erkens');
Wel even de '$$var' global maken of uit de $GLOBALS array halen in de functie. Anders gaat dit niet werken :)

Homepage | Me @ T.net | Having fun @ Procurios | Collega's gezocht: Webontwikkelaar PHP


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Burat schreef op 11 november 2003 @ 11:10:
[...]


Wel even de '$$var' global maken of uit de $GLOBALS array halen in de functie. Anders gaat dit niet werken :)
true, had ik ff niet goed gezien (heb het ook niet getest enzo :D)
Pagina: 1