Динамическое именование объектов PHP - PullRequest
3 голосов
/ 26 января 2009

Как мне динамически назначить имя объекту php?

например, как мне назначить объект для переменной, которая является идентификатором строки БД, которую я использую для создания объектов.

например

$<idnum>= new object();

где idnum - это идентификатор из моей базы данных.

Ответы [ 4 ]

13 голосов
/ 26 января 2009

Вы можете использовать двойной знак доллара, чтобы создать переменную с именем значения другого, например:

$idnum = "myVar";

$$idnum = new object(); // This is equivalent to $myVar = new object();

Но убедитесь, что если вам действительно нужно это сделать, ваш код может стать очень запутанным, если вам не хватает внимания или вы злоупотребляете использованием этой "функции" ...

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

5 голосов
/ 26 января 2009

этот маленький фрагмент работает на меня

$num=500;
${"id$num"} = 1234;
echo $id500;

в основном просто используйте фигурные скобки, чтобы окружить имя переменной и добавить $;

4 голосов
/ 26 января 2009

Вы можете сделать что-то вроде этого:

${"test123"} = "hello";
echo $test123; //will echo "hello"

$foo = "mystring";
${$foo} = "a value";
echo $mystring; //will echo "a value";
1 голос
/ 26 января 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...