我想用传递给构造函数的所有变量的名称和相同的值在一个类中创建属性。
我可以用字符串做到这一点:
class test {
public function __construct() {
$args = func_get_args();
foreach($args as $arg) {
$this->{$arg} = $arg;
$this->init();
}
}
public function init() {
echo $this->one;
}
}
// Output: "one"
$obj = new test("one");
但我不知道如何使用变量来做到这一点。我试过这个:
class test {
public function __construct() {
$args = func_get_args();
foreach($args as $arg) {
$this->{$arg} = $arg;
$this->init();
}
}
public function init() {
echo $this->one;
}
}
$one = "one!";
$obj = new test($one);
输出:
Notice: Undefined property: test::$one on line 13
我希望它输出的内容:
one!