|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.06.2011, 10:39 | #1 |
Форумчанин
Регистрация: 08.11.2010
Сообщений: 593
|
PHP и как узнать имя переменной
Добрый день, возник вопрос, как средствами php можно узнать имя переменной, т.е. допустим имеется следующий код
Код:
|
30.06.2011, 10:58 | #2 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Стрелок-охотник
|
|
30.06.2011, 11:24 | #3 |
Форумчанин
Регистрация: 08.11.2010
Сообщений: 593
|
Как бы вам сказать, я собрался сохранять их для некоторой ерунды)
|
30.06.2011, 11:35 | #4 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Стрелок-охотник
|
|
30.06.2011, 11:52 | #5 |
Форумчанин
Регистрация: 08.11.2010
Сообщений: 593
|
Хм, тогда что вы мне ответите про сиреализацию объектов в таком случае? Я могу полностью сохранить объект в файл собственно)
|
30.06.2011, 11:59 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
CodeNOT
Возможно, вам поможет эта статья(сам не пробовал): Как определить/узнать имя переменной средствами PHP |
30.06.2011, 12:11 | #7 | ||
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Цитата:
Стрелок-охотник
|
||
30.06.2011, 12:12 | #8 | |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Теоретически можно просканить глобал-скоуп (если вы вызываете функцию из него), сравнить значения переменных и некоей долей вероятности получить имя переменной по значению которое равно заданному... Если значения, которые вы задаёте переменным уникальны... Но это порнография... даже так, домашнее любительское порно, я бы даже сказал.
А хотите - по настоящему ? (с) /*И у танка отвалилась башня*/ Есть полезнейшая функция debug_backtrace();. она возвращает массив вот такого, например, вида: Цитата:
Но ! Внимание ! PHP - это всё же интерпретатор, а не компилятор, поэтому счастье всё же нам светит, хоть тяжёлое, сложное и трудоёмкое. У нас есть строка, есть полное имя файла, есть имя функции. Вуаля! Открываем файл для чтения, (а мы можем его открыть для чтения, и даже это сделали, когда были апачем. Да мы и сейчас апач, что скрывать-то...), выдёргиваем из него эту самую строку, парсим её хоть тем же прег-матчем и получаем строку аргументов, с которой позвали эту самую функцию, в которой мы и находимся. А вот это уже не порно, это уже полнейший БДСМ. Можно даже акцию открыть: "Вставь такой скрипт куда нибудь в продакшн!, дождись следующего программиста!, признайся, кто там вот ЭТО сделал!, и дай ему осуществить твои самые развращённые мазохистские фантазии!!!". PS: Имейте в виду - там не всё так просто с этим массивом, повардампте его хорошенько перед использованием. UPD: Пока писал всю эту чушь, пропустил часть ответов. В статье_по_ссылке, к сожалению, лёкого способа узнать, с какой переменной в качестве параметра вызвали функцию, нет . UPD2:И действительно, к чему здесь сериализация O_o ? Последний раз редактировалось graymaster; 30.06.2011 в 12:44. |
|
30.06.2011, 14:12 | #9 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Вариант, основанный на использовании debug_backtrace() :
(грабли указаны в посте выше) PHP код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как присвоить переменной имя файла | mayonez | Общие вопросы Delphi | 3 | 27.06.2010 13:02 |
Как узнать имя юзера | Betty | Общие вопросы Delphi | 4 | 07.01.2010 10:50 |
Имя переменной как переменная. Как получить доступ к такой переменной? | Denni | Microsoft Office Access | 8 | 02.04.2009 10:06 |
Как узнать имя кнопки? | LeGAl | Microsoft Office Excel | 1 | 10.03.2009 00:04 |
Как узнать имя файла??? | Shurik Hacker | Работа с сетью в Delphi | 3 | 20.11.2007 17:06 |