function print_var_name($var) {
foreach($GLOBALS as $var_name => $value) {
if ($value === $var) {
return $var_name;
}
}
return false;
}
Эта функция не будет напрямую получать имя переменной, но будет сканировать любое имя переменной, которое содержит то же значение, что и указанное вами. Если вы можете гарантировать, что значения, передаваемые в вашей функции, отличаются от всех других значений, она должна делать свою работу. Дрянной метод, который может сработать, - это установить префикс для значений, которые будут переданы в эту функцию. Оказавшись в функции, вы просто пропускаете префиксную часть с помощью substr.