[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: переменные в функции
vitaly777
Вопрос такой, можно ли как-нибуть узнать имя переменной, которую передали при вызове функции.

другими словами..

вызываю функцию так.

foo ( $var1, $var2 );

А внутри функции мне нужно получить имена "var1", "var2"

NB! не значения! func_get_args(); не подходит.


для чего:
пишется маленький дебаггер для личного пользования.







Спустя 24 минуты, 31 секунда (13.11.2011 - 15:33) imbalance_hero написал(а):
vitaly777
В функцию идёт не переменная, а лишь её значение, а функция генерирует свою переменную. Думаю, что нельзя.
Хотя если функция твоя, то ты сам должен понимать, какая переменная что передаёт.

Спустя 9 минут, 20 секунд (13.11.2011 - 15:42) vitaly777 написал(а):
Цитата (imbalance_hero @ 13.11.2011 - 15:33)
Хотя если функция твоя, то ты сам должен понимать, какая переменная что передаёт.


для дебаггера было бы красивее вывести название переменной + её описание..

сейчас функция выводит так:
Arg nr. 0
[ 0 ] [ 0 ] => string 'module' (length = 6)
[ 0 ] [ 1 ] => string 'main' (length = 4)
Arg nr. 1
[ 0 ] [ 0 ] => string 'module' (length = 6)
[ 0 ] [ 1 ] => string 'main' (length = 4)

а хотелось бы:
var: $variable1
[ 0 ] [ 0 ] => string 'module' (length = 6)
[ 0 ] [ 1 ] => string 'main' (length = 4)

var: $_GET['brr']
[ 0 ] [ 0 ] => string 'module' (length = 6)
[ 0 ] [ 1 ] => string 'main' (length = 4)

Спустя 8 часов, 2 минуты, 55 секунд (13.11.2011 - 23:45) vitaly777 написал(а):
Думаю, что не самое лучшее решение.. но хоть так



$var_name1 = 'texttext';
$var_name2 = false;
$var_name3 = 0;
$test = 'texttext';

function get_variables_name ()
{
$var_global = $GLOBALS;

$arg_count = func_num_args();

$cur = end( $var_global );

for ( ; $arg_count > 0; $arg_count-- )
{
echo 'arg.nr =>' . $arg_count .' variable name =>' . key( $var_global ) . '<br />';
$cur = prev($var_global);
}
}


get_variables_name( $var_name1, $var_name2, $var_name3, $test );









может есть еще какие идеи ?

Спустя 50 минут, 37 секунд (14.11.2011 - 00:36) vital написал(а):
Хмм.
Емнип, в Рефлексии там куча всего, и такое есть тоже. Гляньте ман по рeфелексии - там много всяких вкусных штук.

Спустя 18 часов, 25 минут, 58 секунд (14.11.2011 - 19:02) vitaly777 написал(а):
Цитата (vital @ 14.11.2011 - 00:36)
там много всяких вкусных штук.

гляну
thx!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.