имя переменной в строку

r-tem

Новичок
имя переменной в строку

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

Bitterman

Новичок
Кавычки для этого используются. Убираешь знак $, заключаешь имя переменной в кавычки и получаешь строку.
 

Фанат

oncle terrible
Команда форума
Уважаемый посетитель. Вы не недостаточно владеете предметной областью для того, чтобы задавать вопрос абстрактно.
Поэтому, пожалуйста, задайте его снова, описывая конкретную реальную ситуацию, которую вам нужно решить. Как можно подробнее.

Не про переменную, а всю задачу целиком.
 

r-tem

Новичок
Ok...
Имеется функция...
function view($id){
...
}
Мне нужно знать не только значение входящей перменной $id, но и её имя.... В данном случае 'id'...
2Bitterman при каждом вызове функции имя переменной может меняться...
-------------------
Просто переменная будет приходить из вне...Первое что приходит в голову это занесение $id в массив и дальнейший его перебор...Вот хотел узнать - может есть способ типа следующего?

функция($id);
возвращает строку 'id'.
 

gonza

Новичок
Автор оригинала: r-tem

2Bitterman при каждом вызове функции имя переменной может меняться...
Код в студию. В котором "при каждом вызове имя переменной может меняться"
 

Фанат

oncle terrible
Команда форума
r-tem
ну сказали же тебе - ПОДРОБНО.
не "переменная может", а подробно рассказать, что делает твой кривой скрипт и зачем ему поднадобилось знать имя функции.

тебе сказали - КОНКРЕТНО!
Увижу ещё хоть одну абстрактную функцию или переменную или высосанный из пальца кусок кода - тема будет немедленно закрыта
 

r-tem

Новичок
Мой кривой скрипт должен преобразовать имя внешней переменной в строку, чтобы её можно было вставить в xpath-запрос.
Можно перебирать $_REQUEST, но метод view будет в другом классе...Я думал есть более простой вариант...

public function view($id){
$curNode=$this->xpath->query($this->basePath.'/cell[@id ='.$id.']')->item(0);
$curNode->setAttribute('view','view');
}
 

Фанат

oncle terrible
Команда форума
нет, более простого варианта сделать твою кривизну - нет.
ЕЩЁ ВОПРОСЫ БУДУТ?

-~{}~ 27.03.07 13:40:

ты, кстати, так и не показал код, в котором "при каждом вызове имя переменной может меняться"

судя по всему, ты сам слабо понимаешь, что делаешь
 

denver

?>Скриптер
r-tem
на аргументах функций не нужно экономить:
public function view($attr_name, $attr_value)
 

r-tem

Новичок
2 Sokil.Dmytro Короче понятно, что функция стандартным способом не узнает никак имя приходящей перменной...для неё она такая, как её назвали при объявлении функции...
2 denver Thanx ... скорей всего так и сделаю.....
 

Sokil.Dmytro

Новичок
теоретически можна написать ф-цию которая будет в __FILE__ в строке __LINE__ искать твою переменную - но эти константы надо будет в функцию передать и переменная должна в строке быть одна :) гдето такое решение видел

мо ИМХО менее рагульный метод передать переменную в виде строки и вырыть ее потом из $GLOBALS - но опять же она должна быть глобальной

кароче бестолку
 

DiMA

php.spb.ru
Команда форума
Да уж, Sokil.Dmytro, бредом таким заниматься не стоит. Ну, разве что никому не нужный $GLOBALS не трогать, но get_defined_vars() при запуске функции передавать - я так иногда делаю.

Я где-то видел, как пхп-скрипты при ошибках выдают на экран трейс запуска функций и всех их параметров, файлов, номеров строк. Видимо в свежем пхп добавили эту полезную фишку, читаем ман. В TCL, например, из покон веков так можно было делать или прямо обратиться к пространсту имен любой вызвавшей функции.
 

Sokil.Dmytro

Новичок
еще один бредовый и до конца не продуманый способ


спровоцировать

Notice: Undefined variable: varname in z:\home\test\www\test.php on line 5

засунуть его в буфер ( в ерор_хендлер например) и разобрать строку :)

пора бросать пить...
 
Сверху