Подписка на блог

В Телеграме помимо ссылок на заметки делюсь околодизайнерскими наблюдениями.

В Твиттере помимо ссылок на заметки пишу всякую чушь.

В Тумблере и Же-же есть автоматические трансляции. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

По РСС и Джейсон-фиду трансляции для автоматических читалок

name ()

Нужна функция function name (string param), которая возвращает имя фактической переменной, переданной ей. Или я совсем тупой, или без debug_backtrace () тут не обойтись...

echo name ($some_var);

Должно вывести «some_var».
Подписаться на блог
Поделиться
Отправить
2004   ПХП
3 комментария
Astur
А зачем?... Это же получится дублирующий механизм для $$some_var:
echo $some_var;
Ну, то есть, если имя переменной нужно скрипту, то используются т. н. «переменные переменные» и всё :)
Илья Бирман
Блин, люди, ну вы что! Нужно не по имени переменной получить переменную, а по переменной её имя!
Astur
Так я о том и говорю...
Это же просто: хранишь имя переменной в другой переменной, обращаешься к переменной по этому имени через $$, а когда понадобится именно имя — просто обращаешся через $ вместо $$.
У тебя, возможно, задача, в которой этот путь неприемлем... тогда скажи, почему?...
...Просто функции такой стопудово нету. Это ж какой был бы простор для творчества юных хакеров, если бы она была :)
Илья Бирман
Вот я и пытаюсь себя проявить юным хакером...

То, что готовой функции нет, я знаю. Вопрос в другом: как бы её написать без debug_backtrace ()... Твоё решение с долларами, похоже, мне не подходит. Думаю.
normal
2 Astur
$var = "Hello";
$name = "var";
echo $$name;

такое только с долларами можно, но нужно же без второй строчки :)
Я сам над таким мучался (для дебуженья нужно? :) ничего не придумал...
Если придумаешь, напиши обязательно!
Илья Бирман
Видимо, всё-таки debug_backtrace ()...

Пользовательский интерфейс
Доступны три раздела
электронного учебника

Популярное