переменные php {} - PullRequest
       22

переменные php {}

0 голосов
/ 04 марта 2011

Мне нужно передать множество переменных в класс PHP из базы данных и не могу определить правильный синтаксис.

Это формат переменной класса:

$this->SetX('X','Y',15);

Я пробовал это, но ни одна из них не работает:

$var = 'SetX';
$this->{$var} = array('foo','bar',15);
$this->{$var}('foo','bar',15);
$this->{$var} = "'foo','bar',15";

Но никакой работы, это можно сделать ??

Хорошо, теперь поймите, что это метод, однако имя метода и связанные с ним переменные являются динамическими и хранятся в БД, и поэтому мне нужно генерировать их на лету.

Ответы [ 3 ]

1 голос
/ 04 марта 2011

Это метод, а не атрибут. Но вторая версия будет работать, если вы пропустите фигурные скобки:

$var = "SetX";
$this->$var("foo", "bar", 15);
0 голосов
/ 04 марта 2011

Если вы хотите вызвать функцию на основе имени переменной, вам придется использовать call_user_func или call_user_func_array, например: call_user_func_array(array($this, $var), array('X', 'Y', 15));

0 голосов
/ 04 марта 2011

$ this-> SetX ( 'X', 'Y', 15); это метод, а не переменная. Вы вызываете метод объекта, а не устанавливаете переменную объекта.

Зациклите свои результаты из базы данных и продолжайте вызывать $ this-> SetX ('X', 'Y', 15); и замените X, Y и 15 значениями из вашей БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...