Variabele-naam in functie krijgen
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
function show_var($variabele) {
// hier dan de functie
}
$var = 'Naam';
show_var($var);
?>
function show_var($variabele) {
// hier dan de functie
}
$var = 'Naam';
show_var($var);
?>
Dat ik kan outputten: $var = 'Naam'. Ik wil dus zien te achterhalen dat de 'originele' naam van 'Naam' $var was. En als je show_var('test'); zou doen, dan krijg je daar dus GEEN naam uit.
Ik krijg de waarde in de functie mee, maar ik vroeg me af of ik ook de naam van de variabele mee kon krijgen.
Natuurlijk zou ik het tussen quotes kunnen verzenden: show_var('$var'); en dan met global de waarde van de variabele achterhalen, maar dat vind ik niet zo'n mooie oplossing. Ik vroeg me af of iemand een beter oplossing wist.
Alvast bedankt,
Miloan
Gewijzigd op 01/01/1970 01:00:00 door Mark L
Om de variebelnaam te achterhalen zou je kunnen loopen op de output van get_defined_vars(), echter vermoedt ik dat er een handige oplossing is.
Bij debug_backtrace(); krijg ik de line, daar zou ik opzich iets mee kunnen doen, alleen dan zou ik dus met fopen het bestand nóg een keer openen.. en dat vind ik redelijk veel werk ervoor.
Met get_defined_vars zou ik idd kunnen zoeken naar een variabelenaam die die waarde heeft, alleen dan heb ik een probleem als je twee variabelen hebt die dezelfde waarde hebben.
Ik hoop dat er nog meer opties zijn. Ik ga ondertussen even kijken welke het handigste en meest praktisch zou zijn.
Ik heb een functie gevonden die doet wat je wilt, maar het is wel een hoop gedoe voor een variabelnaam;
http://us2.php.net/manual/en/language.variables.php#49997
Laat me even weten hoe het gegaan is.
Ik kan geen reference aan een func_get_args() zetten. Maar dit is eigenlijk niet zo'n groot probleem. Zelfs niet als je show_var(&value, $val, &$var); doet. Dan zit bij $value en $var geen reference. Als ik hem ophaal via func_get_args(). Als het niet anders kan, maak ik het zo dat je gewoon maar 1 argument kunt invullen.
In ieder geval bedankt :)
Ik hoop dat ik nog een oplossing kan vinden voor de func_get_args(); En als ik de functie af heb, dan post ik hem op PHPhulp!
Edit:
En een array haalt hij ook niet goed:
Gewijzigd op 01/01/1970 01:00:00 door Mark L