Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) как получить имя переменной / 15 сообщений из 15, страница 1 из 1
06.05.2005, 11:53
    #33052310
Duke1999
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
нужно что-то вроде этого:

Код: plaintext
1.
2.
3.
4.
5.
6.
function get_name( $param )
{
...
}

echo get_name ($name);

должно вывестись:
name

сижу второй час и понимаю, что схожу с ума...
...
Рейтинг: 0 / 0
06.05.2005, 11:56
    #33052318
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
echo get_name($param){
...
}
echo get_name('name');
...
Рейтинг: 0 / 0
06.05.2005, 11:57
    #33052324
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
Пардон.
Код: plaintext
1.
2.
3.
4.
5.
function get_name( $param )
{
...
}

echo get_name('name');
А вообще - вопрос должен ставиться так, чтобы было понятно зачем. Потому что скорее всего тебе этого не нужно.
...
Рейтинг: 0 / 0
06.05.2005, 12:07
    #33052352
Duke1999
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
Как это по-русски написать-то... :)

Хочу получить по переменной ее имя...

А вопрос возник по-поводу красивого вывода дампа для отладки. Для вывода имени переменной, которая передана для дампа.
...
Рейтинг: 0 / 0
06.05.2005, 13:23
    #33052585
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
Ты в функцию передаешь значение. Как ты собираешься по этому зхначению узнавать какой переменной принадлежит значение?
Перефразирую, например, $param = 3, т.е. в функцию передалось 3... И что функция должна делать с тройкой????
Если ты передаешь в функцию значение переменной, значит ты знаешь ее имя..
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
06.05.2005, 16:36
    #33053263
Groove
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
получить немного больше информации поможет ссылка http://ru3.php.net/debug_backtrace
но твою проблему это не решает...
...
Рейтинг: 0 / 0
06.05.2005, 16:42
    #33053277
Groove
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
оттуда ты кстати сможешь получить информацию из какого файла и в какой строке вызвана твоя отладочная функция, что тоже не маловажно!
а то бывает наставишь везде этих вызовов пока отлаживаешь модуль, а потом полчаса ищешь. а тут раз, глянул - тебе и отладка, и где она использована...
...
Рейтинг: 0 / 0
06.05.2005, 16:58
    #33053329
Duke1999
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
4m@t!cТы в функцию передаешь значение. Как ты собираешься по этому зхначению узнавать какой переменной принадлежит значение?
Перефразирую, например, $param = 3, т.е. в функцию передалось 3... И что функция должна делать с тройкой????
Если ты передаешь в функцию значение переменной, значит ты знаешь ее имя..
----------------------------------------


Так как функция для дампа, то есть получения некой отладочной информации, то функция все-таки получает не значаение, а ссылку на переменную

function ShowDump (&$variable)
...
Рейтинг: 0 / 0
06.05.2005, 17:07
    #33053360
Duke1999
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
вообщем убил целый день, обгулил все что мог :)
похоже, что сделать это напрямую нельзя, и не напрямую тоже

и все равно сижу и думаю: если функция получает переменную, то ее имя присутствует как ключ в массиве $GLOBALS...
...
Рейтинг: 0 / 0
06.05.2005, 18:25
    #33053532
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
Duke1999и все равно сижу и думаю: если функция получает переменную, то ее имя присутствует как ключ в массиве $GLOBALS...Это заблуждение.
Код: plaintext
1.
2.
3.
4.
5.
function a(){
 $x= 0 ;
 echo get_name($x);
}
$x= 1 ;
a();
В общем, задача имеет единственное решение:
Код: plaintext
1.
2.
3.
function get_name($name,&$data){
  ...
}
get_name('x',$x);
...
Рейтинг: 0 / 0
10.05.2005, 18:25
    #33056083
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
я сделал так, но понятно, что так, закрыл дырку ) но красивый дамп получается ) правда иногда с глюками (например, при вызове из функции)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 function printForMe($variable)
 {
  if($_SERVER['REMOTE_ADDR'] == '127.0.0.1')
  {
   global ${$variable};

   echo "<div style = \"background-color: #FFFF80; border: 1px dashed # 000000 ; margin: 5px; padding: 5px\"><pre style = \"font-size: medium\">Dump of variable <b>\$".$variable.":</b>\n\n";var_export(${$variable});echo"</pre></div>\r\n";
  }
 }

...

$test =  1 ;

printForMe('test');

// Вывод:
// ------------------------------------
// | Dump of variable $test: |
// |                                  |
// |  1                                |
// |                                  |
// ------------------------------------
// звыняйте, CSS изобразил прЫблЫзЫтельно )))

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
01.08.2012, 16:03
    #37900650
byd
byd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
SDN Круть!
...
Рейтинг: 0 / 0
01.11.2012, 15:21
    #38021901
leo431
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
Duke1999,

function print_p($v) {

global $$v;
echo $$v;
};

print_p('imt');
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.03.2016, 10:05
    #39191939
Гость567345
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
$q = 'str';

function a_test($str){
foreach($GLOBALS as $k => $v){
if($v == $str) echo 'Имя внешной переменной: '.$k;
}
}

a_test($q);
...
Рейтинг: 0 / 0
12.03.2017, 12:06
    #39417558
Гость 2323
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) как получить имя переменной
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
  $test = "Значение переменной";
  function p($t,$o="")// распечатает для АДМИНОВ уровня 6 и выше переменную
  { 
    $Alvl = 12;
    eval ('$v = $GLOBALS["'.$t.'"];');
    if ( $Alvl>5 )
    {
      print"<fieldset class=dbg onclick='this.parent.removeChild(this);'>
            <legend> <?=$t?> </legend>\n";
      if (is_array($v))
        {
            print"<div align=\"left\"><pre>\n";
            print_r($v);
            print"\n</pre></div>";
        }
        else { print"\n<xmp>$v</xmp>\n\n"; };
      print"</fieldset>";
      
    };
};
p('test'," Тестовое применение функции <b>p</p>");
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) как получить имя переменной / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]