Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2008, 11:29   #1
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию Вывести имя переменной

как вывести на экран имя переменной ?

всмысле чтобы после выполнения кода
PHP код:
$var_name=1;
some_function($var_name);
#или
echo some_other_function($var_name); 
на экран вывелось
Код HTML:
var_name
свободен...
wall66 вне форума Ответить с цитированием
Старый 12.12.2008, 11:53   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Функции не знаю но можно сделать такую ф-ю
PHP код:
$var_name=2;
$r=array_keys($GLOBALS);
for(
$i=0;$i<count($r);$i++) if ($var_name===$$r[$i]) echo $r[$i]; 
НО! тк переменные сравниваются по значениям то надо писать исключения если у разных переменных одно значение

или делать так
PHP код:
$array['var_name']=2;
$r=array_keys($array);
echo 
$r[0]; 
и первое и второе не есть хорошо
Стрелок-охотник

Последний раз редактировалось mv28jam; 12.12.2008 в 12:30.
mv28jam вне форума Ответить с цитированием
Старый 12.12.2008, 12:52   #3
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

спасибо, но в моем случае получаются жутко многомерные массивы, да и исключение на название переменной GLOBALS недопустимо (по сути нужно вывести именно ее название), так что нужна именно функция описанная в первом посте

п.с. интересный факт: массив GLOBALS содержит сам себя бесконечное количество раз...
свободен...
wall66 вне форума Ответить с цитированием
Старый 12.12.2008, 13:25   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Цитата:
п.с. интересный факт: массив GLOBALS содержит сам себя бесконечное количество раз...
По сути он содержит просто указатель на самого себя. Выглядит это как бесконечная вложенность. Все равно, как в папке ярлык на саму папку, сколько не щёлкай по нему, будешь кругами ходить.

А вот смысла этого:
Код:
echo some_other_function($var_name);
я что-то не понял.
Мы же и так знаем, какую переменную передаем функции. тогда в чем сложность вывести её имя:
Код:
echo "\$var_name";
Arigato на форуме Ответить с цитированием
Старый 12.12.2008, 14:10   #5
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
...
какая разница для чего, просто нужна такая функция... если не знаешь ее - лучше пройти мимо

я и сам в состоянии написать echo 'что угодно';

нужен был формирующийся заголовок для вывода результата функции, чтобы знать какая именно входная переменная обрабатывается, но видимо здесь мне не помогут... ладно, сам уже понял как это сделать, так что не парьтесь
свободен...
wall66 вне форума Ответить с цитированием
Старый 12.12.2008, 14:53   #6
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Поделитесь решением, если не жалко. Дико интересно как Вы это организовали...
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 12.12.2008, 15:35   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Как ни передавай в функцию переменную
Код:
some_other_function($var_name);
Внутри функции мы уже имеет дело не с это переменной, а с её значением.
Если бы Вы объяснили для чего это нужно, может быть и решение было бы предложено. А так не ясно, зачем выводить имя переменной.
Arigato на форуме Ответить с цитированием
Старый 12.12.2008, 17:12   #8
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

мне без разницы функцией, процедурой, методом, или чем-нибудь другим это будет сделано, смысл в том чтобы вывести пользователю на экран имя переменной без повторного вписывания напрямую этого имени, специально для таких как вы приведен наглядный пример который прекрасно понял первый отвечавший
some_function это пример который можно заменить чем угодно для достижения нужного результата
свободен...
wall66 вне форума Ответить с цитированием
Старый 13.12.2008, 09:00   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Цитата:
ладно, сам уже понял как это сделать, так что не парьтесь
Хорошо, покажите, как Вы это сделали. Даже интересно стало
Arigato на форуме Ответить с цитированием
Старый 13.12.2008, 10:06   #10
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Хорошо, покажите, как Вы это сделали. Даже интересно стало
немного доработал способ предложенный mv28jam добавив поиск по всем измерениям массива, несколько фильтров и ограничений
свободен...
wall66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнуление переменной [MI_nor] Общие вопросы C/C++ 3 05.11.2008 18:01
Изменение переменной yura-cat Помощь студентам 7 20.09.2008 17:42
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) Arkuz Общие вопросы Delphi 12 25.09.2007 20:47
Как изменить свойство объекта, если его имя находится в переменной? Aiden Компоненты Delphi 1 13.09.2007 07:57